我有以下设置:
我已经正确设置了所有内容,并且正在学习Django环境中的代码。
我已成功完成位于此处的Django官方教程的第一部分: https://docs.djangoproject.com/en/1.7/intro/tutorial01/ 并开始研究:https://docs.djangoproject.com/en/1.7/intro/tutorial02/
这导致了一个"民意调查"应用程序内的" mysite"项目
"民意调查"应用程序有2个模型:问题和选择。
一切都成功地与MySQL同步。
然后我访问了polls / admin.py并编写了以下代码:
from django.contrib import admin
from polls.models import Question
admin.site.register(Question)
哪个应该在管理界面中启用问题模型。
当我尝试访问mydomain.com/admin界面时,模型问题没有显示出来。根据教程应该有。
在做了一些研究之后我已经考虑了一些,然后尝试触摸mydomain.com/tmp/restart.txt文件以重新启动passenger_wsgi.py
文件。调用此文件以根据Passenger设置将Apache服务器与我的django应用程序链接。
之后,一切正常!它为什么有效?我不明白为什么passenger_wsgi.py
必须重新启动。
这是passenger_wsgi.py中的代码:
import sys, os
cwd = os.getcwd()
sys.path.append(cwd)
project_location = cwd + "/djtest"
sys.path.insert(0,project_location)
os.environ['LD_LIBRARY_PATH'] = '/home/USERNAME/Python34/lib'
#Switch to new python
PYTHON_EXE = '/home/USERNAME/DOMAIN/env/bin/python3'
if sys.executable != PYTHON_EXE:
os.execl(PYTHON_EXE, PYTHON_EXE, *sys.argv)
sys.path.insert(0,'home/USERNAME/DOMAIN/env/bin')
sys.path.insert(0,'home/USERNAME/DOMAIN/env/lib/python3.4/site-packages/django')
sys.path.insert(0,'home/USERNAME/DOMAIN/env/lib/python3.4/site-packages')
os.environ['DJANGO_SETTINGS_MODULE'] = "djtest.settings"
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
答案 0 :(得分:2)
因为WSGI的工作方式如下:Python代码在进程启动时加载,并且不会在每个请求上刷新(除非明确配置为这样做。)
在遵循本教程 - 以及整个开发过程中 - 您最好在本地开发并通过manage.py runserver
使用内置开发服务器。