数据库
首页 > 数据库> > python-从Django登录名检索SQL条目

python-从Django登录名检索SQL条目

作者:互联网

我是Django的新手.我使用内置的User模型编写了一个登录脚本.

def login_user(request):
    state = "Please login below..."
    username = password = ''
    if request.POST:
        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                state = "You're successfully logged in!"
                return render_to_response('home.html',{'username': username})
            else:
                state = "Your account is not active, please contact the site admin."
        else:
            state = "Your username and/or password were incorrect."

    return render_to_response('index.html',{'state':state})

这将打开一个新页面的主页,我在其中显示{{username}}.
但是,如何从数据库中检索该特定用户名的其他值,如id,email,全名等,并将其显示在我的主页上.我曾尝试使用User.objects.all(),但似乎无法正常工作.

解决方法:

您已经具有用户对象(authenticate() returns it),因此只需从用户检索信息即可.请参阅User documentation,以了解您可以从中获得什么:

# ...
user = authenticate(username=username, password=password)
if user is not None:
    if user.is_active:
        state = "You're successfully logged in!"
        info = dict(username=username, email=user.email, fullname=user.get_full_name())
        return render_to_response('home.html', info)

标签:django-forms,python,django,sql
来源: https://codeday.me/bug/20191031/1976015.html