我试图用一个参数重定向到一个URL。部分views.py
def membership(request):
errors = []
members = Member.objects.all()
...
if request.POST.get('subject', '') == "member_details":
member = members.filter(id = request.POST.get('member', ''))
return redirect("/membership/details/", m = member)
...
return render(request, "membership.html", {"errors": errors, 'members': members})我需要重定向到“成员/详细信息/”,但以“成员”作为参数或至少成员ID。
下面是我的url.py的一部分:
url(r'^admin/', include(admin.site.urls)),
url(r'^input/book/', 'library_app.views.input_book'),
url(r'^membership/$', 'library_app.views.membership'),
url(r'^membership/details/', 'library_app.views.member_details'),
url(r'^$', 'library_app.views.main'),而"member_details“是我views.py的一部分:
def member_details(request, m="doesn't work"):
error = []
if request.method == "POST":
pass
return render(request, "member_details.html", {'m': m})谢谢你的帮助!
发布于 2014-02-14 13:21:30
如果要将成员包括在url中,则向url模式中添加一个命名群。例如,您可以将成员id包含在如下内容中:
url(r'^membership/details/(?P<member_id>\d+)/', 'library_app.views.member_details', name='member_details'),然后,您的视图将member_id作为关键字参数。
from django.shortcuts import get_object_or_404
def member_details(request, member_id):
member = get_object_or_404(id=member_id)
# you might want to add checks to make sure
# that the logged in user is allowed to see this members details!
...然后,您可以在硬编码的url中使用redirect:
return redirect("/membership/details/%s/ % member.pk")或者,最好将视图名和member_id作为参数。
return redirect("member_details", member_id=member.id)https://stackoverflow.com/questions/21779424
复制相似问题