я сделал регистрацию а как сделать заход на сайт то есть login in не понимаю помогите плиз
views.py
from django.views.decorators.csrf import csrf_protect
from .forms import RegisterForm
from django.shortcuts import render, redirect
from django.contrib.auth import login, authenticate
@csrf_protect
def register(request):
if request.method == 'POST':
form = RegisterForm(request.POST)
username = request.POST['username']
password1 = request.POST['password1']
password2 = request.POST['password2']
email = request.POST['email']
context = {'form': form,
'username': username,
'password1': password1,
'password2': password2,
'email': email}
if form.is_valid():
form.save()
user = authenticate(username=username, password=password1)
login(request, user)
return redirect('/')
else:
form = RegisterForm()
context = {'form': form}
return render(request, 'registration/registred.html', context)
forms.py
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from django import forms
class RegisterForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2')
def clean_email(self):
email = self.cleaned_data['email'].strip()
if User.objects.filter(email__iexact=email).exists():
raise forms.ValidationError('Пользователь с таким email уже существует')
return email
urls.py
urlpatterns =[
path('register', views.register, name='register'),
]
registred.html
{% extends "ShapeHtml/wrapper.html" %}
{% block content %}
<form method="post" action="{% url 'register' %}">
{% csrf_token %}
<h3>Введите Логин</h3> <input type="text" name="username" value="{{ username }}"> <br>
<h3>Введите Почту</h3> <input type="email" name="email" value="{{ email }}"> <br>
<h3>Введите Пороль</h3> <input type="password" name="password1" value="{{ password1 }}"> <br>
<h3>Повторите пороль</h3><input type="password" name="password2" value="{{ password2 }}"> <br>
<input type="submit">
</form>
{% endblock %}
Вот рабочий пример:
urls.py:
from django.contrib.auth.views import LoginView
...
urlpatterns = [
path(r'login/', LoginView.as_view(template_name='myapp/login.html'), name='login'),
...
]
login.html:
...
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<input type="text" name="username">
<input type="password" name="password">
<input type="submit">
</form>
...
Примечание: данный код не идеален, это учебный пример. После понятия принципа, рекомендую Вам переписать его. Как минимум, советую использовать формы Django
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Товарищи, подскажите! Куда копать, возможно ли это вообще - как реализовать такой круг в html, чтобы при клике на конкретное меню - оно вращалось...