实例1:实现一个获取电影列表的demo,用户可以根据/movie/电影分类/
的方式来获取电影。其中电影分类采用的是分类1+分类2+分类3...
的方式拼接的,并且如果只有一个分类,那就不需要加号。示例如下:
# 1. 第一种:获取action分类下的电影
/movie/action/
# 2. 第二种:获取action和costume分类下的电影
/movie/action+costume/
# 3. 第三种:获取action和costume和love下的电影
/movie/action+costume+love/
以此类推..
(1)在项目中chapter3新建一个app movie,定义视图函数
# chapter3\movie\views.py
from django.shortcuts import render,reverse
from django.http import HttpResponse
def movie(request):
return HttpResponse('电影首页')
def movie_list(request,categories):
text = '你所选的分类是:%s' % categories
return HttpResponse(text)
def movie_detail(request,movie_id):
reverse('detail',kwargs={'movie_id':movie_id})
print(type(movie_id))
return HttpResponse('电影详情')
(2)在“chapter3\movie\urls.py” 添加URL配置
#chapter3\movie\urls.py
from django.urls import re_path,path
from . import views
urlpatterns = [
path('',views.movie),
re_path(r'list/(?P<categories>\w+|(\w+\+\w+)+)/',views.movie_list),
]
(3)在“chapter3\chapter3\urls.py”添加URL配置
# chapter3\chapter3\urls.py
from django.urls import path,include
urlpatterns = [
path('movie/',include('movie.urls')),
]
(4)运行项目,浏览网页
http://127.0.0.1:8000/movie/list/action
http://127.0.0.1:8000/movie/list/action+costume+love