简体   繁体   English

Django 中的条件重定向

[英]Conditional redirection in Django

I would like users to be conditionally redirected to different urls based on their email.我希望用户根据他们的 email 有条件地重定向到不同的 url。 So users who login with a specific email are redirected to page A and others to page B.因此,使用特定 email 登录的用户将被重定向到页面 A,而其他用户则被重定向到页面 B。

With the code i have currently, all users are redirected only to page A (google.com)使用我目前拥有的代码,所有用户仅被重定向到页面 A (google.com)

This is what I have in views.py这就是我在views.py中的内容

@login_required
@student_required
@check_is_allow
def messages(request):
    emails = ['aaa@gmail.com', 'aab@gmail.com', 'aac@gmail.com',
              'aba@gmail.com', 'abb@gmail.com', 'abc@gmail.com']
    if request.user.email in emails:
        return render(request, 'https://www.google.com/')
    else:
        return render(request, 'https://www.facebook.com/')

My urls.py我的网址.py

    ...
    path('messages', students.messages, name='messages'),
    ...

and html和 html

...
<li><a href="{% url 'students:messages' %}">Messages</a></li>
...

render renders a template, it doesn't redirect users. render呈现一个模板,它不会重定向用户。 Use the redirect shortcut to redirect users.使用redirect快捷方式重定向用户。

from django.shortcuts import redirect
if request.user.email in emails:
    return redirect("https://www.google.com")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM