【问题标题】:Django internal server error on change of one line更改一行时 Django 内部服务器错误
【发布时间】:2016-10-09 11:44:28
【问题描述】:

我正在尝试在我的 Rpi 上设置一个 Django 服务器,并且基于这两个教程,我可以通过 nginx 进入管理页面; https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04https://docs.djangoproject.com/en/1.10/intro/tutorial01/

我的目录结构是这样的;

pi@raspberrypi:~/myproject $ ls
manage.py  myproject  myprojectenv  myproject.sock  polls  static

pi@raspberrypi:~/myproject $ ls polls
admin.py  apps.py  __init__.py  migrations  models.py  tests.py  urls.py views.py  views.py.save

pi@raspberrypi:~/myproject $ ls myproject
__init__.py  __pycache__  settings.py  urls.py  wsgi.py

在上述目录中创建了一个名为 Polls 的应用。 ./manage.py startapp 投票

我在 ~/myproject/myproject/settings.py 中设置了以下内容

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['localhost','127.0.0.1','192.168.1.213','*']

每次更改后我都重新启动了 nginx 和 gunicorn。 我尝试将 ~/myproject/polls 移动到 ~/myproject/myproject/polls

导致内部服务器错误的行是 ~/myproject/myproject/urls.py 中的这个;

from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'^polls/', include('polls.urls')),#This one causes the internal server error.
    url(r'^admin/', admin.site.urls),
]

我不太确定从这里往哪里走,但我怀疑我已经接近了,任何我应该阅读的建议、建议或内容表示赞赏。

EDIT-James 我按照您的建议运行服务器时得到了这个。 啊,当我使用 runserver 命令启动服务器时,我得到了这个;,

  File "/home/pi/myproject/myprojectenv/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/home/pi/myproject/myproject/urls.py", line 20, in <module>
    url(r'^polls/', include('polls.urls')),
NameError: name 'include' is not defined

【问题讨论】:

  • 你能提供完整的堆栈跟踪吗?您可能需要配置 gunicorn 来编写服务器日志(--error-logfile FILE 我相信会这样做)。如果你不能用 gunicorn 做到这一点,这个应用程序是否可以使用开发服务器(python manage.py runserver)?
  • 必须在主信息下方回复此内容

标签: django


【解决方案1】:

正如错误所说,您尚未定义 include。你需要从你做url的同一个地方导入它:

from django.conf.urls import url, include

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2011-03-18
    • 2023-03-03
    • 1970-01-01
    • 2015-06-25
    • 2018-11-23
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多