Найти - Пользователи
Полная версия: Две разные вьюхи на один URL
Начало » Django » Две разные вьюхи на один URL
1
andreiru
Здравствуйте!

Нужно что-бы при заходе на главную страницу, если пользователь авторизирован, то отрабатывает одна вьюха, если анонимус, то другая, подскажите такое возможно ?
botinag
if request.user.is_authenticated():
    <blah blah>
else:
    <another blah blah>
Документация
andreiru
botinag

Я имею в виду что-то вроде:

if request.user.is_authenticated():
    urlpatterns += patterns(url(r'^$', Home.as_view(), name='home'))
else:
    urlpatterns += patterns(url(r'^$', SignupDriver.as_view(), name='home'))

в urls.py

request же можно как-то подтянуть в urls.py ?
GreyZmeem
def home_view(request):
    if request.user.is_authenticated():
        return Home.as_view()(request)
    return SignupDriver.as_view()(request)
 
urlpatterns = patterns(
    '',
    url(r'^$', lambda request: home_view(request)),
)

Но лучше так не делать. А сделать в самой вьюхе или через @login_required
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB