urls的模块化
当我们的项目越做越大时,那么url就会变得越来越多,如果都放在主’urls.py‘文件中,那么将不太好管理,因此我们可以将每个app自己的urls放到自己的app中进行管理。一般我们会在app中新建一个urls.py文件用来存储所有和这个app相关的子url。(文件名可以随便是什么,但是一般都是 urls.py,这样别人才放方便查看)
注意:
- 应该使用
include
函数包含子urls.py
,并且这个urls.py
的路径是相对于项目的路径。
在这里我们新建了一个student的app,然后编写student中的views.py:
from django.http import HttpResponse
def student(request):
return HttpResponse('学生首页')
然后在student的目录下新建一个urls.py的文件,编写代码:
from django.urls import path
from . import views
urlpatterns = [
path('',views.student),
]
然后主urls.py中编写一下代码
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('student/',include('student.urls')),
]
就成功的将url进行了分层。
2. 在app
的urls.py
中,所有的url匹配也要放在一个叫做urlpatterns
的变量中,否则找不到。
3. url
是会根据主urls.py
和app中的urls.py
进行拼接的,因此注意不要多加斜杠。