gpt4 book ai didi

Django - 对两个不同的域名使用不同的 views.py?

转载 作者:行者123 更新时间:2023-12-01 08:13:48 25 4
gpt4 key购买 nike

我有两个站点共享相同的 models.py 和管理后端,但使用不同的 views.py 和不同的模板文件。

有没有办法让 Django 为这两个域名分别使用不同的 views.py 文件?我可以在某种自定义中间件中查看 request.HTTP_HOST 吗?

最佳答案

扩展一下@jdi 的回答。 Django 中的 Sites 框架就是为此目的而创建的,但您需要分别为每个域提供服务才能利用它。您所做的是为每个域创建一个单独的 settings.py 文件。你仍然可以有一个通用的 settings.py,每个都包含。例如:

设置.py
# all common settings here

domain1_settings.py
from settings import *

SITE_ID = 1
ROOT_URLCONF = domain1_urls.py

domain2_settings.py
from settings import *

SITE_ID = 2
ROOT_URLCONF = domain2_urls.py

然后,您手动指定在启动服务器时要使用的设置文件:

发展

python manage.py runserver --settings=domain1_settings.py

生产( unicorn )

python manage.py run_gunicorn --settings=domain1_settings.py

生产(uwsgi)

uwsgi --env DJANGO_SETTINGS_MODULE=myproject.domain1_settings

显然,您更可能希望将其包含在 gunicorn/uwsgi 的实际配置中;以上内容仅供说明之用。

关于Django - 对两个不同的域名使用不同的 views.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10690625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com