使用面临未找到反向问题的类基视图
Posted
技术标签:
【中文标题】使用面临未找到反向问题的类基视图【英文标题】:using class base view facing a issue of reverse not found 【发布时间】:2021-09-25 22:14:30 【问题描述】:我正在为 section.html 使用基于类的 d 视图,在该视图中,我尝试借助表单实现添加到购物车功能,但在单击添加到汽车后却显示错误
未找到没有参数的“部分”的反向。尝试了 1 种模式:['(?P
这是我的意见.py
@method_decorator(login_required, name='dispatch')
class Sections(View):
def post(self, request, subject_id):
sections =request.POST.get('section')
print(sections)
return redirect('subjects:section')
def get(self, request, subject_id):
subject = get_object_or_404(Subject, pk=subject_id) # retrieve the subject
sections = subject.section.all() # get the sections related to the subject
return render (request, 'sections.html',"section_list" : sections )
我的 urls.py
urlpatterns = [
path('<int:subject_id>/Sections/', Sections.as_view(),name='section'),
]
我的section.html
<ul class="sec">
% for section in section_list %
<div class="card col-11">
<div class="card-header">
section.title
</div>
<div class="card-body">
<h5 class="card-about"> section.about_section </h5> <br>
<i class="price fas fa-rupee-sign"> section.price </i> <br> <br>
<i class="icon text-white fas fa-chalkboard-teacher"> section.teacher </i>
<i class="icon text-white fas fa-clock"> section.content_duration</i>
<i class="icon text-white fas fa-tags"> section.subject.name </i>
<form action="#" method="POST">
% csrf_token %
<input hidden type="text" name="section" value="section.id">
<input type="submit" class="btn btn-outline-primary" value="Add To Cart">
</form>
</div>
</div>
% endfor %
</ul>
我的部分模型与另一个带有外键的模型名称主题相关
【问题讨论】:
【参考方案1】:您必须指定 subject_id
进行重定向,因为路径中有 <int:subject_id>
并且 get
方法需要它。
@method_decorator(login_required, name='dispatch')
class Sections(View):
def post(self, request, subject_id):
sections =request.POST.get('section')
print(sections)
return redirect('subjects:section', subject_id=subject_id)
【讨论】:
以上是关于使用面临未找到反向问题的类基视图的主要内容,如果未能解决你的问题,请参考以下文章
未找到“用户配置文件”的反向。 'userprofile' 不是有效的视图函数或模式名称
/product/pussyes/ 的 NoReverseMatch 未找到“basket_adding”的反向。 “basket_adding”不是有效的视图函数或模式名称
未找到“account_email_verification_sent”的反向。 “account_email_verification_sent”不是有效的视图函数或模式名称