我无法运行服务器 Django 2.0

Posted

技术标签:

【中文标题】我无法运行服务器 Django 2.0【英文标题】:I can not run server Django 2.0 【发布时间】:2019-04-05 04:35:37 【问题描述】:

您好,我在尝试从 Django 2.0 旧项目运行服务器时遇到问题。

这是错误:

      File "/usr/lib/python3.7/site-packages/django/urls/conf.py", line 39, in include
    'Specifying a namespace in include() without providing an app_name 
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.'

这是我的 urls.py

from django.conf.urls import url, include
from django.contrib import admin
from apps.sysgrub.views import LoginUser, LogoutUser

app_name = 'apps'

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^alumno/', include ('apps.alumno.urls', namespace="alumno")),
    url(r'^grupo/', include ('apps.grupo.urls', namespace="grupo")),
    url(r'^maestro/', include ('apps.maestro.urls', namespace="maestro")),
    url(r'^rol/', include ('apps.rol.urls', namespace="rol")),
    url(r'^sysgrub/', include ('apps.sysgrub.urls', namespace="sysgrub")),
    url(r'^$', LoginUser),
    url(r'^logout/$', LogoutUser),
]

和我的应用程序网址

urlpatterns = [
url(r'^index$', index),
url(r'^horarios$', horarios),
url(r'^listar$', Alumno_grupoList.as_view(), name='alumno_listar'),
url(r'^agregar$', AlumnoCreate.as_view(), name='add_student'),

]

非常感谢您的帮助问候。

【问题讨论】:

您必须在以这种方式包含的每个模块中都有一个app_name 变量。 (apps.alumno.urls 等)在根 urls.py 中不需要 app_name。 'Specifying a namespace in include() without providing an app_name'的可能重复 谢谢你这就是问题所在。祝您有美好的一天。 【参考方案1】:

错误描述了解决方法,请从 urls.py 中删除应用名称,如下所示

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^alumno/', include ('alumno.urls', namespace="alumno")),
url(r'^grupo/', include ('grupo.urls', namespace="grupo")),
]

【讨论】:

以上是关于我无法运行服务器 Django 2.0的主要内容,如果未能解决你的问题,请参考以下文章

模板不存在“django 2.0”

运行docker django容器时无法连接到服务器

Django 无法运行 manage.py

无法安装 Django,运行服务器错误

为啥Django无法正常运行?

无法运行 Django 模板引擎 - Django