【发布时间】:2017-11-01 22:49:28
【问题描述】:
我不确定我是否以适当的方式使用 Django 会话。要登录,我使用此视图和 URL:
url(r'^login/$', views.my_login)
from django.contrib.auth import authenticate, login
@api_view(['POST'])
def my_login(request):
if request.method == 'POST':
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
request.session.set_expiry(86400)
login(request, user)
在所有需要身份验证的方法中,我都使用if request.user.is_authenticated() 或@login_required
如果这是一个好方法,我如何同时使用@api_view(['GET', 'POST']) 和@login_require?
在我看来这不是一个好的解决方案:
@login_require
@api_view(['GET', 'POST'])
def my_func(request):
#...
有没有更好的方法来做到这一点?
【问题讨论】:
标签: python django python-3.x session django-rest-framework