我正在开发django中的网站,需要使用不同的用户配置文件进行登录才能对其进行测试。目前,我将数据库中所有用户的密码设置为django解密并解释为" 1234"的字符串。 为避免这种情况,我在下面的函数中包含了默认登录。将此代码用于生产是否安全?
def login(request, redirect_field_name=REDIRECT_FIELD_NAME, *args, **kwargs):
from django.contrib.auth.views import login as django_login
from django.contrib.auth import login as auth_login
if settings.DEBUG:
redirect_to = request.POST.get(redirect_field_name, request.GET.get(redirect_field_name, ''))
if request.method == "POST":
user = request.POST.get('username', '')
user = Usuario.objects.filter(cpf=user)
if user.exists:
user = user.first()
user.backend = 'django.contrib.auth.backends.ModelBackend'
auth_login(request, user)
return HttpResponseRedirect(redirect_to)
return django_login(request, *args, **kwargs)
答案 0 :(得分:0)
您必须阅读Unit Tests on Django
所以你可以编写一个程序来创建一些用户,然后使用then测试登录,毕竟你可以删除该用户的测试
这样您就不需要在其数据库中创建许多密码为'123'
的用户