diff --git a/CineSync/CineSync/urls.py b/CineSync/CineSync/urls.py index 4edc8ab..59576d9 100644 --- a/CineSync/CineSync/urls.py +++ b/CineSync/CineSync/urls.py @@ -8,9 +8,9 @@ urlpatterns = [ path('', include('home.urls')), path('admin/', admin.site.urls), path('films/', include('films.urls'), name='films'), + path('timetable/', include('timetable.urls'), name='timetable'), path("auth/", include("users.urls"), name="auth"), path("auth/", include("django.contrib.auth.urls"), name="auth"), - ] urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/CineSync/static/css/base.css b/CineSync/static/css/base.css new file mode 100644 index 0000000..450190c --- /dev/null +++ b/CineSync/static/css/base.css @@ -0,0 +1,6 @@ +.btn, .nav-link { + border-radius: 1vw !important; +} +body { + background-color: #0d1d3a; +} \ No newline at end of file diff --git a/CineSync/static/css/header.css b/CineSync/static/css/header.css new file mode 100644 index 0000000..08d8650 --- /dev/null +++ b/CineSync/static/css/header.css @@ -0,0 +1,27 @@ +.header_icon { + width: 5vw; + border-radius: 1.5vw; + padding:1vw; +} +.header_row, .auth_row, header { + display: flex; + flex-direction: row; + align-items: center; + flex-wrap: nowrap; +} +header { + justify-content: space-between; + background-color: #ffffff; + position: fixed; + margin: 1%; + width: 98%; + border-radius: 0.8vw;; +} +.header_container { + width: 100%; + z-index: 103; +} +.nav-item { + margin: 5px; +} + diff --git a/CineSync/static/css/includes/header.css b/CineSync/static/css/includes/header.css index e6c7032..6f5a5fb 100644 --- a/CineSync/static/css/includes/header.css +++ b/CineSync/static/css/includes/header.css @@ -11,16 +11,21 @@ } header { justify-content: space-between; - background-color: #ffffff; - position: fixed; + background-color: #eaeaea; margin: 1%; width: 98%; border-radius: 0.8vw;; } .header_container { width: 100%; + position: fixed; } .nav-item { margin: 5px; } - +.header_hole { + height: 5vw; +} +.auth_row { + margin-right: 1vw; +} diff --git a/CineSync/static/css/users/login.css b/CineSync/static/css/users/login.css new file mode 100644 index 0000000..974a372 --- /dev/null +++ b/CineSync/static/css/users/login.css @@ -0,0 +1,16 @@ +.login_block, form { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + align-items: center; +} +.login_block { + margin-left: 30%; + margin-right: 30%; + margin-top: 10vw; + border-radius: 3vw; + background-color: #eaeaea; + padding-top: 2vw; + padding-bottom: 2vw; + width: 40%; +} \ No newline at end of file diff --git a/CineSync/static/css/users/signup.css b/CineSync/static/css/users/signup.css new file mode 100644 index 0000000..a3629db --- /dev/null +++ b/CineSync/static/css/users/signup.css @@ -0,0 +1,19 @@ +.signup_block, form { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + align-items: center; +} +.signup_block { + margin-left: 30%; + margin-right: 30%; + margin-top: 3.5vw; + border-radius: 3vw; + background-color: #eaeaea; + padding-top: 2vw; + padding-bottom: 2vw; + width: 40%; +} +.form_item { + width: 30vw !important; +} \ No newline at end of file diff --git a/CineSync/static/img/android-chrome-192x192.png b/CineSync/static/img/android-chrome-192x192.png new file mode 100644 index 0000000..a24a263 Binary files /dev/null and b/CineSync/static/img/android-chrome-192x192.png differ diff --git a/CineSync/static/img/android-chrome-512x512.png b/CineSync/static/img/android-chrome-512x512.png new file mode 100644 index 0000000..24b105e Binary files /dev/null and b/CineSync/static/img/android-chrome-512x512.png differ diff --git a/CineSync/static/img/apple-touch-icon.png b/CineSync/static/img/apple-touch-icon.png new file mode 100644 index 0000000..67e730b Binary files /dev/null and b/CineSync/static/img/apple-touch-icon.png differ diff --git a/CineSync/static/img/browserconfig.xml b/CineSync/static/img/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/CineSync/static/img/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/CineSync/static/img/favicon-16x16.png b/CineSync/static/img/favicon-16x16.png new file mode 100644 index 0000000..859b7be Binary files /dev/null and b/CineSync/static/img/favicon-16x16.png differ diff --git a/CineSync/static/img/favicon-32x32.png b/CineSync/static/img/favicon-32x32.png new file mode 100644 index 0000000..0f17c2b Binary files /dev/null and b/CineSync/static/img/favicon-32x32.png differ diff --git a/CineSync/static/img/favicon.ico b/CineSync/static/img/favicon.ico new file mode 100644 index 0000000..6d1270a Binary files /dev/null and b/CineSync/static/img/favicon.ico differ diff --git a/CineSync/static/img/mstile-150x150.png b/CineSync/static/img/mstile-150x150.png new file mode 100644 index 0000000..35d5a2d Binary files /dev/null and b/CineSync/static/img/mstile-150x150.png differ diff --git a/CineSync/static/img/site.webmanifest b/CineSync/static/img/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/CineSync/static/img/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/CineSync/templates/base.html b/CineSync/templates/base.html index 5fd1aec..87697f4 100644 --- a/CineSync/templates/base.html +++ b/CineSync/templates/base.html @@ -8,7 +8,7 @@ {% block title %}{% endblock title %} - + @@ -16,6 +16,7 @@ + diff --git a/CineSync/templates/includes/form.html b/CineSync/templates/includes/form.html index e6f62f7..4078a88 100644 --- a/CineSync/templates/includes/form.html +++ b/CineSync/templates/includes/form.html @@ -1,17 +1,18 @@ {% if echo %} -
-{% else %} - -{% endif %} -{% csrf_token %} -{% for field in form.visible_fields %} -
- - {{ field }} - {% if field.help_text %} -
{{ field.help_text }}
- {% endif %} -
- {% endfor %} - -
+
+ {% else %} + + {% endif %} + {% csrf_token %} + {% for field in form.visible_fields %} +
+ + {{ field }} + {% if field.help_text %} +
{{ field.help_text }}
+ {% endif %} +
+ {% endfor %} + +
diff --git a/CineSync/templates/includes/header.html b/CineSync/templates/includes/header.html index 34f0c30..7584c9c 100644 --- a/CineSync/templates/includes/header.html +++ b/CineSync/templates/includes/header.html @@ -10,12 +10,12 @@ href="{% url 'home:homepage' %}">Главная {% endwith %} @@ -26,13 +26,14 @@ {% else %} {% endif %} - \ No newline at end of file + +
\ No newline at end of file diff --git a/CineSync/templates/users/login.html b/CineSync/templates/users/login.html index d09cce5..9c147bc 100644 --- a/CineSync/templates/users/login.html +++ b/CineSync/templates/users/login.html @@ -1,32 +1,38 @@ {% extends "base.html" %} {% load static %} -{% load i18n %} {% block title %} -{% trans "Вход" %} +Вход {% endblock title %} {% block content %} -

Вход в аккаунт

-{% include "includes/form.html" with form=form %} - {% comment %} + +
+

Вход в аккаунт

+ {% include "includes/form.html" with form=form %} + {% comment %} {% if echo %} -
- {% else %} - - {% endif %} - {% csrf_token %} - {% for field in form.visible_fields %} -
- - {{ field }} - {% if field.help_text %} -
{{ field.help_text }}
- {% endif %} -
- {% endfor %} - -
- {% endcomment %} -
-Восстановить пароль -Создать аккаунт -{% endblock %} +
+ {% else %} + + {% endif %} + {% csrf_token %} + {% for field in form.visible_fields %} +
+ + {{ field }} + {% if field.help_text %} +
{{ field.help_text }}
+ {% endif %} +
+ {% endfor %} + +
+ {% endcomment %} +
+ Восстановить + пароль + Создать + аккаунт + {% endblock %} +
\ No newline at end of file diff --git a/CineSync/templates/users/signup.html b/CineSync/templates/users/signup.html index 6d0d126..e5ae0ae 100644 --- a/CineSync/templates/users/signup.html +++ b/CineSync/templates/users/signup.html @@ -1,5 +1,10 @@ {% extends "base.html" %} +{% load static %} {% block title %}Регистрация{% endblock %} {% block content %} - {% include "includes/form.html" %} + +
+

Регистрация

+ {% include "includes/form.html" %} +
{% endblock %} \ No newline at end of file diff --git a/CineSync/timetable/urls.py b/CineSync/timetable/urls.py new file mode 100644 index 0000000..8e112ca --- /dev/null +++ b/CineSync/timetable/urls.py @@ -0,0 +1,9 @@ +from django.urls import path + +from films.views import films_list, film_details + +app_name = 'time_table' + +urlpatterns = [ + path('', films_list, name='main'), +] diff --git a/CineSync/users/views.py b/CineSync/users/views.py index a533c5d..4e7ac56 100644 --- a/CineSync/users/views.py +++ b/CineSync/users/views.py @@ -9,15 +9,15 @@ from django.views.generic import View from users.forms import SignUpForm, ProfileForm, UserForm from users.models import Profile - __all__ = [] def signup(request): form = SignUpForm(request.POST) - template = "users/signup.html" + template = 'users/signup.html' context = { - "form": form, + 'form': form, + 'text_button': 'Зарегистрироваться', } if request.method == 'GET': return render(request, template, context) @@ -27,8 +27,8 @@ def signup(request): user.save() Profile.objects.create(user=user) user.profile.save() - messages.success(request, _("Пользователь упешно создан")) - return redirect(reverse("users:login")) + messages.success(request, _('Пользователь упешно создан')) + return redirect(reverse('users:login')) return render(request, template, context) @@ -45,11 +45,12 @@ def profile(request): if request.method == 'GET': return render( request, - "users/profile.html", + 'users/profile.html', { - "profile_form": profile_form, - "user_form": user_form, - "user": request.user, + 'profile_form': profile_form, + 'user_form': user_form, + 'user': request.user, + 'text_button': 'Войти', }, ) @@ -59,37 +60,10 @@ def profile(request): return render( request, - "users/profile.html", + 'users/profile.html', { - "profile_form": profile_form, - "user_form": user_form, - "user": request.user, + 'profile_form': profile_form, + 'user_form': user_form, + 'user': request.user, }, ) - - -class SignupView(View): - def get(self, request): - form = SignUpForm() - template = "users/signup.html" - context = { - "form": form, - } - return render(request, template, context) - - def post(self, request): - form = SignUpForm(request.POST) - if form.is_valid(): - user = form.save(commit=False) - user.is_active = settings.DEFAULT_USER_IS_ACTIVE - user.save() - Profile.objects.create(user=user) - user.profile.save() - messages.success(request, _("Пользователь упешно создан")) - return redirect(reverse("users:login")) - - template = "users/signup.html" - context = { - "form": form, - } - return render(request, template, context)