from django.shortcuts import render, redirect from main.extra_func import set_and_get_username, set_and_get_email, load_and_get_image, set_and_get_role from main.models import UserProfile from django.contrib.auth.models import User from django.urls import reverse_lazy from django_registration.forms import RegistrationFormUniqueEmail from django_registration.views import RegistrationView from zenpy import Zenpy from main.models import UserProfile class Reg(RegistrationView): form_class = RegistrationFormUniqueEmail template_name = 'django_registration/registration_form.html' def register(self, form): creds = { 'email': 'DEFINEME', 'subdomain': 'ngenix1612197338', 'token': 'DEFINEME', } client = Zenpy(**creds) zenpy_user = client.search(form.data['email'], type='user') if zenpy_user: user = User.objects.create_user( username=form.data['username'], email=form.data['email'], password=form.data['email'], ) profile = UserProfile.objects.create( image='None.png', user=user, role='None' ) user.save() else: raise AttributeError('No such email') def profile_page(request): """ Отображение страницы профиля :param request: объект с деталями запроса :type request: :class:`django.http.HttpResponse` :return: объект ответа сервера с HTML-кодом внутри """ if request.user.is_authenticated: UP = UserProfile.objects.get(user=request.user) else: # TODO: Убрать после появления регистрации и авторизации, добавить login_required() UP = UserProfile.objects.get(user=1) context = { 'name': set_and_get_username(UP), 'email': set_and_get_email(UP), 'role': set_and_get_role(UP), 'image_name': load_and_get_image(UP), 'pagename': 'Страница профиля' } return render(request, 'pages/profile.html', context)