Создана основа аутентификации пользователя #17
This commit is contained in:
parent
1c6a9fdcc9
commit
34259d5977
@ -1,4 +1,5 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
|
from django.contrib.auth import models as auth_models
|
||||||
|
|
||||||
from .models import Article
|
from .models import Article
|
||||||
|
|
||||||
@ -7,3 +8,11 @@ class ArticleForm(forms.ModelForm):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = Article
|
model = Article
|
||||||
fields = ('body', 'link',)
|
fields = ('body', 'link',)
|
||||||
|
|
||||||
|
|
||||||
|
class UserForm(forms.ModelForm):
|
||||||
|
password = forms.PasswordInput()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = auth_models.User
|
||||||
|
fields = ('username', 'password',)
|
||||||
|
26
cms/templates/user/sign_in.html
Normal file
26
cms/templates/user/sign_in.html
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
{% load bootstrap5 %}
|
||||||
|
{% block content %}
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<form
|
||||||
|
action="{% url 'authenticate' %}"
|
||||||
|
method="post"
|
||||||
|
enctype="application/x-www-form-urlencoded"
|
||||||
|
>
|
||||||
|
{% csrf_token %}
|
||||||
|
{% bootstrap_form user_form %}
|
||||||
|
{% buttons %}
|
||||||
|
<button
|
||||||
|
class="btn btn-primary"
|
||||||
|
type="submit"
|
||||||
|
>
|
||||||
|
Войти
|
||||||
|
</button>
|
||||||
|
{% endbuttons %}
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
@ -1,8 +1,13 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
|
||||||
from .views import ArticleView, new_article
|
from .views import ArticleView, new_article, AuthenticationView
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('articles/', ArticleView.as_view(), name='create-article'),
|
path('articles/', ArticleView.as_view(), name='create-article'),
|
||||||
path('articles/new/', new_article, name='new-article'),
|
path('articles/new/', new_article, name='new-article'),
|
||||||
|
path(
|
||||||
|
'',
|
||||||
|
AuthenticationView.as_view(),
|
||||||
|
name='authenticate'
|
||||||
|
)
|
||||||
]
|
]
|
||||||
|
17
cms/views.py
17
cms/views.py
@ -3,10 +3,13 @@ from json import JSONEncoder
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
from django.http import HttpRequest
|
from django.http import HttpRequest
|
||||||
|
from django.http import HttpResponse
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.views import View
|
from django.views import View
|
||||||
|
from django.views import View as BaseView
|
||||||
|
|
||||||
from cms.forms import ArticleForm
|
from cms.forms import ArticleForm
|
||||||
|
from cms.forms import UserForm
|
||||||
from cms.models import Article
|
from cms.models import Article
|
||||||
|
|
||||||
|
|
||||||
@ -86,3 +89,17 @@ def new_article(request):
|
|||||||
return render(request,
|
return render(request,
|
||||||
template_name='articles/new.html',
|
template_name='articles/new.html',
|
||||||
context=article_context)
|
context=article_context)
|
||||||
|
|
||||||
|
|
||||||
|
class AuthenticationView(BaseView):
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
user_form = UserForm()
|
||||||
|
auth_context = {
|
||||||
|
'user_form': user_form,
|
||||||
|
}
|
||||||
|
return render(request,
|
||||||
|
'user/sign_in.html',
|
||||||
|
context=auth_context)
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
return HttpResponse('ok')
|
||||||
|
@ -15,8 +15,10 @@ Including another URLconf
|
|||||||
"""
|
"""
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
|
from .views import handle_root_path
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('cms/', include('cms.urls')),
|
path('cms/', include('cms.urls')),
|
||||||
|
path('', handle_root_path, name='root'),
|
||||||
]
|
]
|
||||||
|
8
crossposting_backend/views.py
Normal file
8
crossposting_backend/views.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
from django.http import HttpResponseRedirect
|
||||||
|
from django.urls import reverse
|
||||||
|
|
||||||
|
|
||||||
|
def handle_root_path(request):
|
||||||
|
return HttpResponseRedirect(reverse('authenticate'))
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user