位置: 编程技术 - 正文
推荐整理分享Python的Flask框架中配置多个子域名的方法讲解(python flask框架 web服务器),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:flask框架菜鸟教程,python flask框架 web服务器,flask框架图,flask框架菜鸟教程,pycharm flask框架,Python的flask框架教程,python的flask框架干啥的,flask 框架,内容如对您有帮助,希望把文章链接给更多的朋友!
Flask子域名一般用于数量比较少的子域名,一个模块对应一个子域名。先看下面一个例子:
modules.py:
现在可以通过public.example.com/来访问public模块了。
通配符子域通配符子域,即通过一个模块来匹配很多个子域名。比如某些网站提供的个性化域名功能,就是这种形式。
先来看段示例代码:
modules.py:
这段代码和上一节的第像,不同之处是这里的subdomain使用了动态参数<subdomain>(路由中的URL变量也是这种方式)。我们可以用这个参数在请求回调函数之前利用的组合的url处理器来获取相关的用户。这样我们就可以通过*.example.com的形式来访问member模块了。
下面是为任何Flask或Blueprint对象增加子域名支持的便捷函数:
然后你可以使用before_request回调函数来处理子域名:
注:这里的blueprint请改为实际对象。
特别说明:通配符子域调试不是不太方便,需要做泛域名解析才可以。修改hosts文件来指定域名的方法是不可行的(子域名较少时可以逐个添加,子域名多了就不太现实了)。本机调试时,可以安装DNS服务器(比如LINUX BIND服务等),并做好泛域名解析,然后再进行调试。当然使用公网域名和服务器来调试也未尝不可。
PS:1.如果某个blueprint默认就需要实用a.domain.com,那么在定义blueprint时候:
这样,该bp下面的所有url routing走的都是a.domain.com/xxx
2.在某个具体的url routing定义时,如果需要实用a.domain.com,那么这么写:
3.我在具体实践中,默认的routing都是走的www,这是在__init__.py中:
其实就是设置默认子域名,这样默认不做设置的话,路由走的就是www。那这个时候如果访问domain.com,即不带www的话,就会报了,怎么办呢,我是在nginx层面解决这个问题的,在nginx.conf增加一个server:
详解Python的Flask框架中生成SECRET_KEY密钥的方法 引子如果遇到了Mustprovidesecret_keytousecsrf错误提醒,原因就是没有设置secret_key,在代码中加上app.config[‘SECRET_KEY‘]=‘xxx‘SECRET_KEY最好不要写在代码中。
在Python的Flask中使用WTForms表单框架的基础教程 下载和安装安装WTForms最简单的方式是使用easy_install和pip:easy_installWTForms#orpipinstallWTForms你可以从PyPI手动下载WTForms然后运行pythonsetup.pyinstall.如果你是那种
Windows上使用virtualenv搭建Python+Flask开发环境 关于virtualenv:VirtualEnv用于在一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够:1.在没有权限的情况下安装新
友情链接: 武汉网站建设