允许您在一个django实例上运行多个不同站点的应用程序
django-domains的Python项目详细描述
====
django域
====
图片::https://badge.fury.io/py/django domains.png
:目标:http://badge.fury.io/py/django domains
…图片:https://travis-ci.org/marazmiki/django-domains.png?branch=master
:目标:https://travis ci.org/marazmiki/django domains
…图片::https://coveralls.io/repos/marazmiki/django-domains/badge.png?branch=master
:目标:https://coveralls.io/r/marazmiki/django-domains?分支=主
…图片::https://pypip.in/d/django domains/badge.png
:目标:https://pypi.python.org/pypi/django domains
安装程序包
…代码::bash
pip安装django域
2。打开settings.py并将中间件添加到中间件类元组的末尾:
…代码::python
中间件类+=(
'域.中间件.请求中间件',
'域.中间件.动态项目中间件',
)
因为
它将“request”对象设置为本地线程。
第二个中间件“domains.middleware.dynamicistemiddleware”是可选的。您可以使用它来动态更改与请求域对应的站点pk
参数“site_id”(请参阅django站点框架)。
如果您还想对域使用不同的模板,请在模板加载程序元组的开头添加模板加载程序
。代码::python
模板加载程序=(
'域.加载程序.文件系统.加载程序',
'域.加载程序.应用程序目录.加载程序',
另一个加载程序
)
3。运行测试:
…代码::bash
./manage.py测试域
usage
----
只需创建名为“domain name.tld”的
目录(不要忘记按照安装中的说明添加模板加载器
),并将模板放在此处即可。
必须在设置中添加
`domains\u template\u name\u function`属性。py和
指定命名函数的路径。
function必须返回带有路径片段的元组。此片段将与django域连接到完整的模板路径中。
希望调用此函数“my_custom_template_name”,并将其放入
“my/project/utils.py”:
代码::python
def my_custom_template_name(template_dir,模板名称:
“
此函数生成模板路径的格式:
{template_dir}/custom/domains/{host}/{template_name}
”“
从域导入get_请求
request=get_request()
return(template_dir,'custom','domains',,请求。获取主机,
模板名)
代码::python
domains_template_name_function='my.project.utils.my_custom_template_name'
<0.6.0
----
*放弃对旧python版本(2.6、3.2、3)的支持
*放弃对旧django版本(1.6及更旧版本)的支持
*添加对python 3.5的支持
*添加对django 1.9的支持(感谢“jordanreiter<;mailto:jordanreiter@gmail.com>;`
*迁移到django应用程序api(感谢“jordan reiter<;mailto:jordanreiter@gmail.com>;`
*改善pep-0008支持和一些小代码重构
>0.5.2
-
>
>
>
>
>
-
>
*更新head django版本
<0.5
-
>
*增加支持django 1.8
*新钩机
>0.2
-
>>
>
*提高PEP8;
+支持django 1.4、django 1.5、django 1.6、django1.7
+添加travis ci integr原子化
django域
====
图片::https://badge.fury.io/py/django domains.png
:目标:http://badge.fury.io/py/django domains
…图片:https://travis-ci.org/marazmiki/django-domains.png?branch=master
:目标:https://travis ci.org/marazmiki/django domains
…图片::https://coveralls.io/repos/marazmiki/django-domains/badge.png?branch=master
:目标:https://coveralls.io/r/marazmiki/django-domains?分支=主
…图片::https://pypip.in/d/django domains/badge.png
:目标:https://pypi.python.org/pypi/django domains
安装程序包
…代码::bash
pip安装django域
2。打开settings.py并将中间件添加到中间件类元组的末尾:
…代码::python
中间件类+=(
'域.中间件.请求中间件',
'域.中间件.动态项目中间件',
)
因为
它将“request”对象设置为本地线程。
第二个中间件“domains.middleware.dynamicistemiddleware”是可选的。您可以使用它来动态更改与请求域对应的站点pk
参数“site_id”(请参阅django站点框架)。
如果您还想对域使用不同的模板,请在模板加载程序元组的开头添加模板加载程序
。代码::python
模板加载程序=(
'域.加载程序.文件系统.加载程序',
'域.加载程序.应用程序目录.加载程序',
另一个加载程序
)
3。运行测试:
…代码::bash
./manage.py测试域
usage
----
只需创建名为“domain name.tld”的
目录(不要忘记按照安装中的说明添加模板加载器
),并将模板放在此处即可。
必须在设置中添加
`domains\u template\u name\u function`属性。py和
指定命名函数的路径。
function必须返回带有路径片段的元组。此片段将与django域连接到完整的模板路径中。
希望调用此函数“my_custom_template_name”,并将其放入
“my/project/utils.py”:
代码::python
def my_custom_template_name(template_dir,模板名称:
“
此函数生成模板路径的格式:
{template_dir}/custom/domains/{host}/{template_name}
”“
从域导入get_请求
request=get_request()
return(template_dir,'custom','domains',,请求。获取主机,
模板名)
代码::python
domains_template_name_function='my.project.utils.my_custom_template_name'
<0.6.0
----
*放弃对旧python版本(2.6、3.2、3)的支持
*放弃对旧django版本(1.6及更旧版本)的支持
*添加对python 3.5的支持
*添加对django 1.9的支持(感谢“jordanreiter<;mailto:jordanreiter@gmail.com>;`
*迁移到django应用程序api(感谢“jordan reiter<;mailto:jordanreiter@gmail.com>;`
*改善pep-0008支持和一些小代码重构
>0.5.2
-
>
>
>
>
>
-
>
*更新head django版本
<0.5
-
>
*增加支持django 1.8
*新钩机
>0.2
-
>>
>
*提高PEP8;
+支持django 1.4、django 1.5、django 1.6、django1.7
+添加travis ci integr原子化