Django和urls.py:如何通过命名url HttpResponseRedirect? [英] Django and urls.py: How do I HttpResponseRedirect via a named url?
本文介绍了Django和urls.py:如何通过命名url HttpResponseRedirect?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
def login(request):
if request.session.has_key('user' )
如果request.session ['user']不是None:
return HttpResponseRedirect('/ path / to / page.html')
我想要完成的是:
def login(request):
如果request.session.has_key('user'):
如果request.session ['user']不是None:
return HttpResponseRedirect url pageName
我执行这个任何想法时会收到语法错误?
解决方案
您需要使用 reverse()
utils function。
code> from django.core.urlresolvers import reverse
def myview(request):
return HttpResponseRedirect(reverse('arch-summa ry',args = [1945]))
其中 args
满足url正则表达式中的所有参数。您还可以通过传递字典来提供命名的参数。
I'm writing a member-based web application, and I need to be able to redirect the page after login. I want to use the named url from my urls.py script in my views.py file for the login application, but I can't for the life of me figure out what to do. What I have is this:
def login(request):
if request.session.has_key('user'):
if request.session['user'] is not None:
return HttpResponseRedirect('/path/to/page.html')
What I want to accomplish is something like:
def login(request):
if request.session.has_key('user'):
if request.session['user'] is not None:
return HttpResponseRedirect url pageName
I get syntax errors when I execute this, any ideas?
解决方案
You need to use the reverse()
utils function.
from django.core.urlresolvers import reverse
def myview(request):
return HttpResponseRedirect(reverse('arch-summary', args=[1945]))
Where args
satisfies all the arguments in your url's regular expression. You can also supply named args by passing a dictionary.
这篇关于Django和urls.py:如何通过命名url HttpResponseRedirect?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文