我想在用户单击链接后将其重定向到另一个页面。我知道我需要在 urls.py 上注册重定向并在views.py 上查看 View
我已经按照我的理解完成了所有这些操作,但仍然专门针对一个重定向出现此错误。
这是我的 html
<li><a href={% url 'edit_user' %}>Edit Profile</a></li>
url.py
urlpatterns = [
path('teachers/', include(([
path('', teachers.QuizListView.as_view(), name='app-instructor-dashboard'),
path('logout', teachers.logout_request, name="logout"),
path('edit_user', teachers.edit_user, name='edit_user'),
], 'classroom'), namespace='teachers')),
和views.py(teachers.py)
def edit_user(request,pk):
if request.method == 'POST':
form = UserChangeForm(request.POST, instance=request.user)
if form.is_valid():
form.save()
return redirect('teachers:app-instructor-dashboard')
else:
form =UserChangeForm(instance=request.user)
args = {'form':form}
return render(request, 'teachers:app-instructor-profile', args)
这是我收到的错误消息
NoReverseMatch at /teachers/ Reverse for 'edit_user' not found. 'edit_user' is not a valid view function or pattern name.
更新
根据给出的答案,我做出了这些更改 url.py
...
path('teachers/', include(([
path('', teachers.QuizListView.as_view(), name='app-instructor-dashboard'),
path('logout', teachers.logout_request, name="logout"),
path('edit_user/<int:pk>/', teachers.edit_user, name='edit_user'),
], 'classroom'), namespace='teachers')),
html
<li><a href={% url 'edit_user' request.user.pk %}>Edit Profile</a></li>
最佳答案
试试这个
<li><a href={% url 'teachers:edit_user' request.user.pk %}>Edit Profile</a></li>
希望对你有帮助
关于python - 反向未找到 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59588931/