Django学习5——自定义url(path)转换器(1)

实例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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值