diff --git a/rosmorport_tsts/rosmorport_tsts/settings.py b/rosmorport_tsts/rosmorport_tsts/settings.py index ed8ec97..369a366 100644 --- a/rosmorport_tsts/rosmorport_tsts/settings.py +++ b/rosmorport_tsts/rosmorport_tsts/settings.py @@ -137,6 +137,8 @@ FIRST_DAY_OF_WEEK = 1 # первый день неде SHORT_DATE_FORMAT = '%Y-%m-%d' SHORT_DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S' +APPEND_SLASH = False + # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/5.0/howto/static-files/ diff --git a/rosmorport_tsts/rosmorport_tsts/urls.py b/rosmorport_tsts/rosmorport_tsts/urls.py index 1f2f529..ef8af82 100644 --- a/rosmorport_tsts/rosmorport_tsts/urls.py +++ b/rosmorport_tsts/rosmorport_tsts/urls.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- """ URL configuration for rosmorport_tsts project. @@ -15,8 +16,22 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, re_path +from django.conf.urls.static import static +from rosmorport_tsts.settings import * +from rosmorport_tsts import views urlpatterns = [ path('admin/', admin.site.urls), + + re_path(r'^$', views.index), + re_path(r'^logout$', views.my_logout), + re_path(r'^login$', views.my_login), ] + +# Обработчики ошибок +# handler404 = 'web.views.handler404' +# handler500 = 'web.views.handler500' + +if DEBUG: + urlpatterns += static(MEDIA_URL, document_root=MEDIA_ROOT) \ No newline at end of file diff --git a/rosmorport_tsts/rosmorport_tsts/views.py b/rosmorport_tsts/rosmorport_tsts/views.py new file mode 100644 index 0000000..c33522b --- /dev/null +++ b/rosmorport_tsts/rosmorport_tsts/views.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +from django.shortcuts import render, HttpResponseRedirect +from django.http import HttpRequest, HttpResponse +from django.contrib.auth import authenticate, login, logout +from django.template.exceptions import TemplateDoesNotExist, TemplateSyntaxError + + +def index(request: HttpRequest) -> HttpResponse: + """ тест индексной страницы + + :param + :return response: исходящий http-ответ + """ + # try: + # return render(request, "index.jinja", {}) + # except (TemplateDoesNotExist, TemplateSyntaxError) as e: + # # Обработка ошибки отсутствия шаблона + # return HttpResponse(f"Не нашли шаблон или в нем ошибка \"{e}\".", status=424) + return render(request, "index.jinja", {}) + + +def my_logout(request: HttpRequest) -> HttpResponseRedirect: + """ Разлогируем пользователя + + :param + :return response: исходящий http-ответ + """ + logout(request) + return HttpResponseRedirect('/') + + +def my_login(request: HttpRequest) -> HttpResponseRedirect: + """ Логиним пользователя + + :param + :return response: исходящий http-ответ + """ + print(request.POST) + if request.method == 'POST': + username = request.POST.get('username') + password = request.POST.get('password') + print(username, password) + user = authenticate(request, username=username, password=password) + if user is not None: + login(request, user) + # A backend authenticated the credentials + print(f"{user} is authenticated") + else: + # No backend authenticated the credentials + pass + # request.session['user'] = request.POST.get('login') + return HttpResponseRedirect('/') diff --git a/rosmorport_tsts/templates-django/base.jinja b/rosmorport_tsts/templates-django/base.jinja index 68945ec..e723d72 100644 --- a/rosmorport_tsts/templates-django/base.jinja +++ b/rosmorport_tsts/templates-django/base.jinja @@ -21,41 +21,30 @@ - {# theme-color предоставляет браузерам цвет CSS для настройки - отображения страницы или окружающего пользовательского интерфейса.#} - {# + + - - #} + {# #} - {# - + - - #} - - - {% block META_OG %}{% endblock %}{# - - - #}{# - + + + - - #} - - + + {# #} -
{% block BODY %} - {% block Top_CSS1 %}{% endblock %}{% block Top_CSS2 %}{% endblock %}{% block Top_CSS3 %}{% endblock %}{% include "blocks/header_nav.jinja2" %}{% block CONTENT %}{% endblock CONTENT %} - {% include "blocks/footer.jinja2" %}{% if COOKIES %} - {% include "blocks/accept-cookies.jinja2" %}{% endif %} +{% block BODY %} + {% block Top_CSS1 %}{% endblock %}{% block Top_CSS2 %}{% endblock %}{% block Top_CSS3 %}{% endblock %}{% include "blocks/header_nav.jinja" %} +{# {% block CONTENT %}{% endblock CONTENT %}#} +{# {% include "blocks/footer.jinja" %} #}{# {% if COOKIES %}#} +{# {% include "blocks/accept-cookies.jinja2" %}{% endif %} #} - {% block Top_JS1 %}{% endblock Top_JS1 %}{% block Top_JS2 %}{% endblock Top_JS2 %}{% block Top_JS3 %}{% endblock Top_JS3 %}{# + {% block Top_JS1 %}{% endblock Top_JS1 %}{% block Top_JS2 %}{% endblock Top_JS2 %}{% block Top_JS3 %}{% endblock Top_JS3 %} - - - #} + {% endblock BODY %} \ No newline at end of file diff --git a/rosmorport_tsts/templates-django/blocks/header_nav.jinja b/rosmorport_tsts/templates-django/blocks/header_nav.jinja new file mode 100644 index 0000000..9d4583e --- /dev/null +++ b/rosmorport_tsts/templates-django/blocks/header_nav.jinja @@ -0,0 +1,16 @@ +{# ВЕРХНЯЯ НАВИГАЦИЯ #}{% include "popup/logon-logout.jinja" %} + diff --git a/rosmorport_tsts/templates-django/index.jinja b/rosmorport_tsts/templates-django/index.jinja new file mode 100644 index 0000000..f6f7f8e --- /dev/null +++ b/rosmorport_tsts/templates-django/index.jinja @@ -0,0 +1 @@ +{% extends 'base.jinja' %} \ No newline at end of file diff --git a/rosmorport_tsts/templates-django/popup/logon-logout.jinja b/rosmorport_tsts/templates-django/popup/logon-logout.jinja new file mode 100644 index 0000000..b973007 --- /dev/null +++ b/rosmorport_tsts/templates-django/popup/logon-logout.jinja @@ -0,0 +1,28 @@ + + \ No newline at end of file