如何在本地测试Django的Sites Framework

Dan*_*den 9 django django-sites

Django拥有站点框架,可以通过单个Django安装支持多个网站托管.

编辑(以下是系统的错误假设)


我了解中间件根据请求域的查找/缓存设置settings.SITE_ID值.


EndEdit中

但在本地测试时,我的网址http://127.0.0.1:8000/,而不是http://my-actual-domain.com/

如何在开发过程中在本地查看我的不同站点?

Lud*_*mer 18

为每个站点创建单独的settings.py文件,包括适当的SITE_ID设置.当然,您可以使用importstatement来共享文件之间的公共设置.

从现在开始运行Django开发服务器时,指定--settings选项告诉Django运行哪个站点.

例如(假设您有两个设置文件 - settings_first.py和settings_second.py):

manage.py runserver --settings settings_first
Run Code Online (Sandbox Code Playgroud)

将运行第一个站点,和

manage.py runserver --settings settings_second
Run Code Online (Sandbox Code Playgroud)

将为您提供访问第二个站点的权限.

您也可以同时运行它们,指定不同的端口:

manage.py runserver 8001 --settings settings_first

manage.py runserver 8002 --settings settings_second
Run Code Online (Sandbox Code Playgroud)

上面的命令(在两个不同的控制台上运行)将使第一个网站在http://127.0.0.1:8001/下可访问,第二个在http://127.0.0.1:8002/下访问