博客五部曲之一 - 简单博客
1376 浏览 5 years, 11 months
13 应用内的URL
版权声明: 转载请注明出处 http://www.codingsoho.com/可以把URL映射都放在跟URL里,也可以通过在应用内创建属于这个应用自己的URL,使URL映射更灵活。
在posts下面创建新文件urls.py,并修改csblog.urls.py文件,用include来引用posts应用的URLs。
from django.conf.urls import url, include
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^posts/', include("posts.urls")),
]
本例中,我们按照CRDU在view中创建几个函数 作为演示
def post_create(request):
return HttpResponse("<h1>Create</h1>")
def post_detail(request):
return HttpResponse("<h1>Detail</h1>")
def post_update(request):
return HttpResponse("<h1>Update</h1>")
def post_delete(request):
return HttpResponse("<h1>Delete</h1>")
def post_list(request):
return HttpResponse("<h1>List</h1>")
在应用内部URL添加映射入口
from . import views
urlpatterns = [
url(r'^$', views.post_list),
url(r'^create/', views.post_create),
url(r'^detail/', views.post_detail),
url(r'^update/', views.post_update),
url(r'^delete/', views.post_delete),
]
URL匹配按顺序进行,碰到匹配的就会退出,不会继续往下搜索,所以在设定正则表达式的时候注意顺序。
Posts应用的访问网站前面都会有一个posts,例如访问更新视图链接为 posts/update