我的 urls.py 怎么了?

What's wrong with my urls.py?

我正在尝试 Django 1.11,但遇到了问题:

这是我的文件 agora/agora/urls.py :

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

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

这是我的文件 agora/start/urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', view_first, name='view_first'),    
    url(r'^/inscription', view_second, name='view_second'),
    url(r'^/about', view_about, name='view_about'),
]

Django 服务器 return 一个错误:

NameError: 名称 'view_first' 未定义

非常感谢您的回答!

你应该对所有功能都这样做

views.view_first
views.view_second
....

您必须在 import 语句中指定函数名称

from django.conf.urls import url
from .views import view_first, view_second, view_about

urlpatterns = [
    url(r'^$', view_first, name='view_first'),    
    url(r'^/inscription', view_second, name='view_second'),
    url(r'^/about', view_about, name='view_about'),
]

或导入视图并使用 view.

分配每个函数
from django.conf.urls import url
from . import view

urlpatterns = [
    url(r'^$', view.view_first, name='view_first'),    
    url(r'^/inscription', view.view_second, name='view_second'),
    url(r'^/about', view.view_about, name='view_about'),
]

虽然问题已经回答了,但我确实注意到了一个小错误。

写url时,始终建议在端点末尾添加“$”符号。不添加相同的可能会导致相似的 url 重叠,这可能会混淆应用程序的行为,甚至会导致一些严重的错误。 美元符号标记 url 字符串的结尾。

请注意!!