- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对如何解决这个问题有一个模糊的想法,但真的需要插入:)
我有一个使用 apache (mod_wsgi) 运行的 Django 应用程序。今天的网址是这样的:
http://site.com/category/A/product/B/
我想做的是:
http://A.site.com/product/B
这意味着 url 调度程序需要获取在子域中找到的值并了解其上下文,而不仅仅是查看路径。我看到两种方法:
最佳答案
你看了吗django.contrib.sites
?我认为这是一个组合,设置 SITE_ID
在您的 settings.py
,并且每个“站点”拥有一个 WSGI 文件可以解决问题。
编辑: -v
放。
django.contrib.sites旨在让您从同一个 Django 项目和数据库运行多个站点。它添加了一个表( django.contrib.sites.models.Site
),其中包含 domain
和 name
领域。据我所知,name
可以表示任何您想要的意思,但通常是站点的英文名称。 domain
是应该显示在 URL 的主机部分的内容。SITE_ID
设置在 settings.py
到 id
所服务的网站。在初始settings.py
文件,它被设置为 1(没有注释)。您可以将其替换为您需要将其设置为正确值的任何代码。
显而易见的事情是检查一个环境变量,并在 name
中查找它。或 domain
Site
中的字段表,但我不确定这是否会在 settings.py
中起作用文件,因为该文件设置了数据库连接参数(循环依赖?)。所以你可能不得不满足于这样的事情:
SITE_ID = int(os.environ.get('SITE_ID', 1)
os.environ['SITE_ID'] = 2
Site
作为
ForeignKey
的目标或
ManyToManyField
以便您可以将模型实例(即记录)链接到特定站点。
关于django - 如何让 Django url dispatcher 使用子域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145148/
我是一名优秀的程序员,十分优秀!