我有洒取决于你是,我需要重定向无权查看该网站的某些方面的用户是什么用户类型Django的网站在我的模板用户,重定向在Django模板
,我有
{% if user.get_profile.is_store %}
<!--DO SOME LOGIC-->
{%endif%}
我该如何去重定向该商店回到该网站的索引?
==== ====编辑
ef downloads(request):
"""
Downloads page, a user facing page for the trade members to downloads POS etc
"""
if not authenticated_user(request):
return HttpResponseRedirect("/professional/")
if request.user.get_profile().is_store():
return HttpResponseRedirect("/")
user = request.user
account = user.get_profile()
downloads_list = TradeDownloads.objects.filter(online=1)[:6]
downloads_list[0].get_thumbnail()
data = {}
data['download_list'] = downloads_list
return render_to_response('downloads.html', data, RequestContext(request))
我从thornomad实施答案,现在我得到了自己的错误
Environment:
Request Method: GET
Request URL: http://localhost:8000/professional/downloads
Django Version: 1.1.1
Python Version: 2.6.2
Installed Applications:
['django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'sico.news',
'sico.store_locator',
'sico.css_switch',
'sico.professional',
'sico.contact',
'sico.shop',
'tinymce',
'captcha']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware')
Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
92. response = callback(request, *callback_args, **callback_kwargs)
File "/var/www/sico/src/sico/../sico/professional/views.py" in downloads
78. if request.user.get_profile().is_store():
File "/var/www/sico/src/sico/../sico/shop/models.py" in is_store
988. return not self.account is None
File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/related.py" in __get__
191. rel_obj = self.related.model._base_manager.get(**params)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/manager.py" in get
120. return self.get_query_set().get(*args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py" in get
305. % self.model._meta.object_name)
Exception Type: DoesNotExist at /professional/downloads
Exception Value: Account matching query does not exist.
+1 - 击败我吧。绝对不想在模板中重定向。 – 2009-11-30 15:16:23
我可以想到一些有效的情况,您希望模板确定是否重定向。大多数情况下发生在模板作者具有某些页面特定逻辑的情况下,这些逻辑确定您在查看此页面之前必须查看其他页面。 – 2012-04-20 18:41:04
+1 @GregGlockner要添加另一个案例:从第三方库重写模板时。在某些情况下,重写模板比重写视图更容易,因为无论如何您都要自定义前者。 – Medorator 2014-06-12 03:40:03