django - 为什么我收到 NoReverseMatch 错误但未找到任何参数?
问题描述
错误:
NoReverseMatch at /leachers/11/donate/
反向为“捐赠”,未找到任何参数。尝试了 1 种模式:['leachers/(?P[0-9]+)/donate/$']
视图.py
@login_required
def donate(request,pk):
if request.method == 'POST':
form = forms.UserDonateForm(request.POST)
if form.is_valid():
user = form.save()
user.refresh_from_db()
user.donator = request.user
user.save()
return redirect('leacher_list')
else:
form = forms.UserDonateForm()
return render(request,'my_app/donation_form.html',{'form':form})
网址.py
from django.urls import path
from . import views
from .views import donate
urlpatterns = [
path('',views.HomePageView.as_view(),name='home_page'),
path('about/',views.AboutView.as_view(),name='about'),
path('leachers/',views.LeacherListView.as_view(),name='leacher_list'),
path('leachers/<int:pk>/donate/',donate,name='donate'),
]
在这里,我将 pk 分配给链接:
{% for member in leacher_list %}
<h4>Name : {{ member.name }}</h4>
<h5>Address : {{ member.address }}</h5>
<h5>Location : {{ member.location }}</h5>
<!--original href="donate" -->
<a class="btn btn-primary" href="{% url 'donate' pk=member.pk %}" role="button">Donate</a>
我是 Django 的新手。
解决方案
请app_name
在 url 中的命名空间之前添加。我建议做这样的事情:
<a class="btn btn-primary" href="{% url 'my_app:donate' pk=member.pk %}" role="button">Donate</a>
这里我们考虑my_app
的是app_name
。请试试这个。
推荐阅读
- reactjs - 如何动态更新对象的状态?
- android - 构建 APK 需要遵循哪些步骤?
- visual-studio - 如何使用新的 Windows 终端作为 Visual Studio 调试控制台
- javascript - 使用 CSS 交换 div 项
- html - 如何修复:通过 Ajax 加载弹出窗口时出现 404 错误?
- html - Bootstrap 元素无法按预期工作的问题
- python-3.x - 在 Windows 环境中,如果 GPU 已经使用,Cupy 在 multithread.pool 中会出错,即使我使用了 multiprocessing.set_start_method('spawn')
- python-3.x - 如何通过 pyftdi lib 正确地与通过 FTDI USB 连接的 spi 从站通信?
- javascript - Jodit WYSIWYG 按钮列表会随着屏幕宽度的变化而变化
- angular - 如何在两个不同的模块中声明 AppComponent