Хочу сделать logout . регистрацию сам прописал в view а авторизацию использовал встроейный метод django.auth LoginView
urls.py
from django.urls import path, include
from django.contrib.auth.views import LoginView
from . import views
urlpatterns =[
path('register', views.register, name='register'),
path(r'login/', LoginView.as_view(template_name='registration/login.html', success_url='news/'), name='login'),
path('logout', views.logout, name='logout'),
path('accounts/profile/', views.indexs, name='indexs'),
]
views.py
def register(request):
if request.method == 'POST':
user_form = UserRegistrationForm(request.POST)
username = request.POST['username']
password1 = request.POST['password1']
password2 = request.POST['password2']
email = request.POST['email']
context = {
'username': username,
'password1': password1,
'password2': password2,
'email': email}
if user_form.is_valid():
# Create a new user object but avoid saving it yet
new_user = user_form.save(commit=False)
# Set the chosen password
new_user.set_password(user_form.cleaned_data['password1'])
# Save the User object
new_user.save()
return render(request, 'registration/registred.html', {'new_user': new_user})
else:
user_form = UserRegistrationForm()
return render(request, 'registration/registred.html')
def indexs(request):
return render(request,'ShapeHtml/MainShape.html')
forms.py
from django.contrib.auth.models import User
from django import forms
class UserRegistrationForm(forms.ModelForm):
password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
password2 = forms.CharField(label='Repeat password', widget=forms.PasswordInput)
class Meta:
model = User
fields = ('username', 'email')
def clean_password2(self):
cd = self.cleaned_data
if cd['password1'] != cd['password2']:
raise forms.ValidationError('Passwords don\'t match.')
return cd['password2']
Точно так же, как и с LoginView
, есть LogoutView
Пример:
urls.py:
from django.contrib.auth.views import LogoutView
...
urlpatterns = [
path(r'logout/', LogoutView.as_view(), name='logout'),
...
]
Здесь Вы можете подробнее про это почитать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я обнаружил странное поведение перетаскиваемой картинки в Chrome, тогда как в FIREFOX все работает отличноДело в том что при использовании метода...