我有一个名为main
的django-rest项目,在其下我创建了一个名为users
的应用程序。所以,我的项目有文件: -
主/主/ urls.py
和
主/用户/ urls.py
在users / urls.py中我有
from django.conf.urls import url, include
from rest_framework import routers
from users import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
并在main / main / urls.py中有
from django.conf.urls import url
from django.contrib import admin
from users import urls
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^users/', users.urls),
]
但是,我一直收到错误NameError: name 'users' is not defined
。当我有多个应用时,设置网址的正确方法是什么?我想为每个独立于项目的应用程序提供urls.py文件。在根urls.py中将包括路由到不同的应用程序。
答案 0 :(得分:3)
您导入的网址不是用户,可以尝试
from users import urls as users_url
# ^^^^^^^^
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^users/', users_url),
# ^^^^^^^
]
但更好:
from django.conf.urls import url, include
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^users/', include('users.url')),
# ^^^^^^^
]