Как проверить, существует ли пользователь в модели, которую я создал в Django?
Я делаю страницу входа и данные уже сохранены в модели, которую я сделал, а не в usercreateform... и вместо поиска пользователя в моей модели (UserAuthentication), он ищет в Users ...
view.py
def loginpage(request):
if request.method == "POST":
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is UserAuthentication: #UserAuthentication is my model where data is stored
login(request, user)
return redirect('index')
else:
messages.warning(request, "Username OR Password is incorrect!")
return redirect('login')
else:
return render(request, "HTML/login.html", context={})
login.html
<form action="#" method="POST">
{%csrf_token %}
<input
class="text"
type="text"
name="username"
placeholder="Username"
required=""
/>
<br />
<br />
<input
class="text"
type="password"
name="password"
placeholder="Password"
required=""
/>
<br />
<br />
{%for message in messages%}
<p id="messages">{{message}}</p>
<br />
{% endfor %}
<input type="submit" value="LOGIN" />
</form>
В вашем файле settings.py
необходимо указать, какую модель пользователя вы хотите использовать в проекте.
Добавьте эту строку в settings.py
:
AUTH_USER_MODEL = '<app_name>.UserAuthentication'
Конечно, замените <app_name>
на имя приложения, в котором определена UserAuthentication
модель.
Далее, настроить пользовательскую модель в Django не так просто. Я настоятельно рекомендую вам взглянуть на официальные docs. Возможно, вы найдете ее запутанной, тогда вы можете поискать custom user in Django
в Google. Там есть много отличных руководств.