python3 manage.py runserver 错误
Posted
技术标签:
【中文标题】python3 manage.py runserver 错误【英文标题】:python3 manage.py runserver error 【发布时间】:2018-09-17 21:22:18 【问题描述】:当我尝试在我的 PC 上启动 (python3 manage.py runserver) 我的 django2.0 webapp 时,我收到以下消息:
正在执行系统检查...
.wrapper 在 0x7fc889c36510 启动的线程中未处理的异常> Traceback(最近一次调用最后一次):
文件“/home/neo/.local/lib/python3.5/site-packages/django/urls/resolvers.py”,第 538 行,在 url_patterns 迭代(模式) TypeError: 'module' 对象不可迭代
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次): 包装器中的文件“/home/neo/.local/lib/python3.5/site-packages/django/utils/autoreload.py”,第 225 行 fn(*args, **kwargs)
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/management/commands/runserver.py”,第 120 行,inner_run self.check(display_num_errors=True)
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/management/base.py”,第 364 行,检查 include_deployment_checks=include_deployment_checks,
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/management/base.py”,第 351 行,在 _run_checks 返回 checks.run_checks(**kwargs)
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/checks/registry.py”,第 73 行,在 run_checks new_errors = 检查(app_configs=app_configs)
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/checks/urls.py”,第 13 行,在 check_url_config return check_resolver(解析器)
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/checks/urls.py”,第 23 行,在 check_resolver 返回 check_method()
文件“/home/neo/.local/lib/python3.5/site-packages/django/urls/resolvers.py”,第 398 行,检查 warnings.extend(check_resolver(pattern))
文件“/home/neo/.local/lib/python3.5/site-packages/django/core/checks/urls.py”,第 23 行,在 check_resolver 返回 check_method()
文件“/home/neo/.local/lib/python3.5/site-packages/django/urls/resolvers.py”,第 397 行,检查 对于 self.url_patterns 中的模式:
get 中的文件“/home/neo/.local/lib/python3.5/site-packages/django/utils/functional.py”,第 36 行 res = instance.dict[self.name] = self.func(instance)
文件“/home/neo/.local/lib/python3.5/site-packages/django/urls/resolvers.py”,第 545 行,在 url_patterns 提出不当配置(msg.format(name=self.urlconf_name)) django.core.exceptions.ImproperlyConfigured:包含的 URLconf '' 似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。
我的应用程序代码:
(/django-examples/mysite):
(设置.py)
INSTALLED_APPS = [
'webexample',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
(urls.py)
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('webexample/', include('webexample.urls')),
]
(/django-examples/mysite/webexample):
(urls.py)
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
(views.py)
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("<h3>Hello, world!</h3>")
ubuntu 16.04 django 2.0.4 蟒蛇3.5 点 8.1.1
问题的原因是什么?
【问题讨论】:
您发布的代码看起来不错(除了缩进),应该不会导致该错误。 【参考方案1】:The order of
INSTALLED_APPS
is significant!
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'webexample',
]
【讨论】:
我重新安装了我的操作系统和所有软件。现在我的代码和你的一样了控制台的错误已经消失了,但我仍然无法得到这个“Hello, world”签名:【参考方案2】:要将您的应用程序添加到主项目文件夹中的 settings.py 中,您需要编写以下内容:
INSTALLED_APPS = [
'*AppName*.apps.*Class*',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
AppName 将是您的应用程序的名称,Class 必须从您的 App 文件夹中的 apps.py 获取。 这里的 AppName 似乎是 webexample,它的 apps.py 中唯一的类的名称将替换该类。 我希望这能解决您的问题。
【讨论】:
【参考方案3】:如果你有rest框架或mysql,那么你需要在安装的应用程序中提及它。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'django_mysql',
]
【讨论】:
【参考方案4】:尝试更改 urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('webexample.urls')),
]
【讨论】:
【参考方案5】:项目 urls.py 应该这样更改:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('webexample.urls')),
]
View.py 应该这样修改:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("<h3>Hello, world!</h3>")
【讨论】:
以上是关于python3 manage.py runserver 错误的主要内容,如果未能解决你的问题,请参考以下文章
我在 index.html 中指向 manifest.json 的链接在我运行反应脚本“yarn start”时有效,但在我运行“python3 manage.py runserver”时无效
Django manage.py runserver 详细程度
Django的manage.py runserver 可以长期运行吗
Django的manage.py runserver 可以长期运行吗