Python URL在my Django项目中传递参数
我只是一个Django的初学者,这几天我跟随mooc学习Django,我想建立我的第一个网站,但出了点问题,我想不出来。我想在URLS.py中编写一个带有参数'cate'的正则表达式,以匹配my view.py中的视频函数,判断'cate'是否等于'editors',如果是,它将返回具有属性“editors\u choice”的数据。然而,我发现它没有变化,所以我在view.py中打印了“cate”,发现它总是没有变化,我仍然不知道为什么 以下是我的代码:Python URL在my Django项目中传递参数,python,django,Python,Django,我只是一个Django的初学者,这几天我跟随mooc学习Django,我想建立我的第一个网站,但出了点问题,我想不出来。我想在URLS.py中编写一个带有参数'cate'的正则表达式,以匹配my view.py中的视频函数,判断'cate'是否等于'editors',如果是,它将返回具有属性“editors\u choice”的数据。然而,我发现它没有变化,所以我在view.py中打印了“cate”,发现它总是没有变化,我仍然不知道为什么 以下是我的代码: def video(request,
def video(request, cate=None):
print(cate)
context = {} =
if cate is None:
video_list = Video.objects.all()
if cate == 'editors':
video_list = Video.objects.filter(editors_choices=True)
else:
video_list = Video.objects.all()
page_robot = Paginator(video_list, 16)
page_num = request.GET.get('page')
try:
video_list = page_robot.page(page_num)
except EmptyPage:
video_list = page_robot.page(page_robot.num_pages) # raise HTTP404("Empty")
except PageNotAnInteger:
video_list = page_robot.page(1)
context['video_list'] = video_list
return render(request, 'ten_movie.html', context)
在第一个模式中添加一个正则表达式字符串结尾字符,以防止它与第二个模式重叠
url(r'^video/$', video, name='video'),
url(r'^video/(?P<cate>[A-Za-z]+)$', video, name='video'),
url(r'^video/$,video,name='video'),
url(r'^video/(?P[A-Za-z]+)$”,video,name='video'),
我通过在第一个url后添加$来解决这个问题,但不更改名称。我仍然非常感谢你在我挣扎了几天的几分钟内解决了我的问题。