Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74

Как реализовать Вход на сайт если уже существует база данных с маил и паролем

26.03.2019, 21:35. Показов 2088. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как реализовать вход на сайт ? Я читал что у django все готово нужно только подключить но там сохраняется только маил и пароль а мне нужно много чего сохранить. Я правильно понимаю регистрация это же просто сохранение каких то данных в базу для дальнейшего входа по ним ? Пример моей регистрации есть на фото. Скиньте пример или видео как это реализовать спасибо заранее
Миниатюры
Как реализовать Вход на сайт если уже существует база данных с маил и паролем  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2019, 21:35
Ответы с готовыми решениями:

Ошибка "База данных уже существует". При отсутствии базы данных
День добрый! Помогите, пожалуйста, разобраться с проблемой. Есть довольно простой код, который создает БД с именем DB.mdf в корне...

Как остановить сохранение, если файл с таким именем уже существует
есть код сохранения данных из формы в TXT файл. вопрос: Как остановить сохранение, если в папке уже есть файл с тем же имененем? ...

Как создать база данных канцелярских документов (исход/вход)
Как создать база данных канцелярских документов (исходящий/входящие) и контроль над ними ? Например- ВХОДЯЩИЕ - 1. Номер документа ...

17
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
26.03.2019, 21:37  [ТС]
И реализовать чтобы после входа появилась новая кнопка
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
26.03.2019, 21:53
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
Как реализовать вход на сайт ?
https://wsvincent.com/django-u... nd-logout/

Вы путаете аутентификацию с регистрацией.
На изображении у вас предоставлена форма регистрации, скорее.
В бд хранятся данные указанные при регистрации. Некоторые из них потом используются при аутентификации. По дефолту в джанго логин происходит по юзернейму и паролю. Но можно настроить под другие поля, если сильно надо.
1
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
28.03.2019, 04:08  [ТС]
и как мне лучше реализовать регистрацию пользователей. Нужно хранить много информации о пользователе такую как :фото, ИФО, сведенья о родителях, номер телефона почту и. т. д. И я думаю как лучше это реализовать. Заменить стандартную модель User? Но тогда не будет проблемой если модель уже создана? Или расширить встроенную модель user на хранение дополнительных данных? Как правильно будет поступить? Джанго изучаю недавно. Знаний 0. У меня есть уже созданая модель которая хранит все данные
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
28.03.2019, 04:48
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
Заменить стандартную модель User? Но тогда не будет проблемой если модель уже создана? Или расширить встроенную модель user на хранение дополнительных данных?
Что Вы подразумеваете под "заменить"?
У Вас в любом случае будет модель User. Либо дефолтная, либо расширенная. Это уж как Вы решите.
Вот изучайте, пробуйте.
https://djbook.ru/rel1.8/topic... izing.html

Добавлено через 3 минуты
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
У меня есть уже созданая модель которая хранит все данные
Зачем что-то ещё придумывать, если уже реализована рабочая модель? Или в ней что-то не устраивает?
0
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
03.04.2019, 16:56  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
https://djbook.ru/rel1.8/topics/auth/customizing.html
Я прочел эту статью спасибо. И как я понял мне нужно хранить дополнительную информацию, относящуюся к модели User, мне нужно использовать связь один к одному с полями модели, хранящей эту информацию. Но как это сделать я не понял
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
03.04.2019, 17:15
_ZombiE_, лучше всего расширить стандартную модель подобным образом. Создаёшь приложение "accounts" и в нём уже создаёшь модель
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class User(AbstractUser):
    is_confirmed = models.BooleanField(_('confirmed'), default=False)
    email_approval_status = models.CharField(
            _('email_approval_status'), max_length=255,
            choices=STATUS_CHOICES, default=STATUS_NO
        )
    identification_status = models.CharField(
            _('identification_status'), max_length=255,
            choices=STATUS_CHOICES, default=STATUS_NO
        )
    is_provider = models.BooleanField(_('provider'), default=False)
    verification_status = models.CharField(
            _('verification_status'), max_length=255,
            choices=STATUS_CHOICES, default=STATUS_NO
        )
 
    referrer_user = models.ForeignKey('self', related_name='ref_user', verbose_name=_('referrer user'), max_length=40, blank=True, null=True)
 
    date_true = models.DateTimeField(_('date true'), blank=True, null=True)
    date_filling = models.DateTimeField(_('date filling'), blank=True, null=True)
    serial_number = models.CharField(_('serial number'), max_length=12, blank=True, null=True)
и прочие поля
1
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
03.04.2019, 17:22  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
лучше всего расширить стандартную модель подобным образом.
Но у меня модель в которой хранятся данные пользователя уже создана можно ли как нибудь ее переделать ?
//////////////////////////// models.py
from django.db import models

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Personalcard(models.Model):
    photo =  models.ImageField(blank=True, upload_to='mainApp/static/images/%Y/%m/%d', verbose_name='Фото' )
    email = models.EmailField(verbose_name='email')
    name = models.CharField(max_length=50, verbose_name='Имя')
    grup = models.CharField(max_length=50, verbose_name='Группа')
    surname = models.CharField(max_length=50, verbose_name='Фамилия')
    patronymic = models.CharField(max_length=50, verbose_name='Отчество')
    specialty = models.CharField(max_length=50, verbose_name='Специальность',)
    floor = models.CharField(max_length=50, verbose_name='Пол')
    dob = models.DateField(verbose_name='Дата рождения')
    nationality = models.CharField(max_length=50, verbose_name='Национальность')
    bpl = models.CharField(max_length=50, verbose_name='Место рождения')
    education = models.CharField(max_length=150, verbose_name='Образование')
    job = models.CharField(max_length=150, verbose_name='Вып-ая работа до поступления')
    marital_status = models.CharField(max_length=50, verbose_name='Семейное положение')
    father = models.CharField(max_length=150, verbose_name='Сведенье об отце' )
    mother = models.CharField(max_length=150, verbose_name='Сведенье об матери')
    address = models.CharField(max_length=150, verbose_name='Домашний адрес')
    the_address_of_this = models.CharField(max_length=150, verbose_name='Прописка в н время')
    number = models.BigIntegerField(verbose_name='Номер телефона')
    password = models.CharField(max_length=50 ,verbose_name='Пароль')
 
 
    def __str__(self):
        return "%s %s %s" %(self.name, self.surname, self.patronymic)
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
03.04.2019, 18:41
_ZombiE_, если база большая жалко её валить, то геморно будет переделывать. Если же небольшая и не жалко, то можно переделать.
Но в принципе, можете связать эту модель 1-к-1 со стандартной пользовательской. Почему бы и нет.
1
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
03.04.2019, 18:44  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
Но в принципе, можете связать эту модель 1-к-1 со стандартной пользовательской. Почему бы и нет.
ДА вот так я и хочу сделать. А вот как не знаю (((. нужно импортировать
from django.contrib.auth.models import User
и в модель добавить
user =models.OneToOneField(User, on_delete=models.CASCADE) а вот дальше что ????
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
03.04.2019, 18:47
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
user =models.OneToOneField(User, on_delete=models.CASCADE) а вот дальше что ????
этого достаточно.
Данные для входа на сайт хранятся в моделе User.
1
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
03.04.2019, 18:49  [ТС]
А проводить миграцию нужно ?
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
03.04.2019, 18:59
_ZombiE_, https://www.djbook.ru/rel1.9/t... tions.html
Django использует миграции для переноса изменений в моделях (добавление поля, удаление модели и т.д.) на структуру базы данных.
0
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
04.04.2019, 15:08  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
этого достаточно.
Данные для входа на сайт хранятся в моделе User.
Не получается у меня понять эту авторизацию сижу 4 день. Помогите разобраться. Он ругается
user =models.OneToOneField(User, on_delete=models.CASCADE)
NameError: name 'User' is not defined

Добавлено через 7 минут
Вот подключил я user =models.OneToOneField(User, on_delete=models.CASCADE) связь 1 к 1 а вот дальше как вывести поля ввода в html можете показать пример
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
04.04.2019, 15:12
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
NameError: name 'User' is not defined
Python
1
from django.contrib.auth.models import User
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
как вывести поля ввода в html можете показать пример
Создаёте форму и выводите... В интернете полно примеров создания авторизации/регистрации. Сделайте по каком-то из них. Что не получится - спрашивайте.
0
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
04.04.2019, 16:47  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
В интернете полно примеров создания авторизации/регистрации.
Я создал доп приложение loginsy. Сделал все по инструкции можно сказать )) но ругается на views
"return render_to_response('login.html', args) "- вот что пишет
////////////////////////////////////////// views
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from django.shortcuts import render
from django.contrib import auth
from django.template.context_processors import csrf
# Create your views here.
 
def login(request):
    args ={}
    args.update(csrf(request))
    if request.POST:
        username = request.POST.get('username','')
        password = request.POST.get('password','')
        user=auth.authenticate(username=username, password=password)
        if user is not None:
            auth.login(request, user)
            return request('/')
        else:
            args['login_error']="Пользователь не найден"
            return render_to_response('login.html', args)
    else:
        return render_to_response('login.html', args)
 
 
def logout(request):
     auth.logout(request)
     return redirect("/")
/////////////////////////urls
Python
1
2
3
4
5
6
7
8
9
from django.contrib import admin
from django.urls import path, include
from . import views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', views.login, name='login'),
    path('logout/', views.logout, name='logout'),
]
/////////////////////////html
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{% extends "mainApp/wrapper.html" %}
 
 
{% block login %}
<div class="large-offset-3 large-6 columns"
   <from action="/auth/login/" method="post">
       {% csrf_token %}
       <label for="username">Имя пользователя</label>
       <input type="text" name="username" id="username">
       <label for="password">Пароль</label>
       <input type="password" name="password" id="password"
       {% if login_error %}
             <label class="error">{{login_error}}</label>
       {% endif %}
       <input class="button" type="submit" value="Войти">
    </from>
</div>
{% endblock %}
0
1 / 1 / 0
Регистрация: 27.09.2016
Сообщений: 74
04.04.2019, 16:49  [ТС]
Вот весь проект если кому понадобится
Вложения
Тип файла: rar django-dip.rar (655.3 Кб, 1 просмотров)
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
04.04.2019, 19:21
Цитата Сообщение от _ZombiE_ Посмотреть сообщение
"return render_to_response('login.html', args) "- вот что пишет
если б Вы заглянули в документацию, нашли бы там ответ
https://docs.djangoproject.com... o-response
исправьте на
Python
1
return render_to_response('login.html')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2019, 19:21
Помогаю со студенческими работами здесь

Если запись в столбце существует, то ничего не делать, если запись отсутствует, то записать нужное значение. Как реализовать?
Если запись в столбце существует, то ничего не делать, если запись отсутствует, то записать нужное значение. Как реализовать?

SQLite база данных с паролем
Есть база данных защищенная ключом! Сама база данных хранится на устройстве. При подключении к базе надо как то передать пароль, но в...

База данных с паролем и логином
В общем-то, хочу создать мини программку, задача которой, при запуске выдать окно с входом, и, если у вас нет внесенных логина и пароля в...

Существует какой-нибудь способ использовать команды на удалённом хосте, если на на нём нет учётки с паролем?
Здравствуйте! Подскажите пожалуйста, существует ли какой нибудь способ использовать команды на удалённом хосте, если на на нём нет учётки с...

Уже имеется база данных с не связанными таблицами, как связать их?
В базе таблиц много, но вот допустим такой момент... Есть две таблицы: Клиент : ID INT PRIMARY KEY NAME varchar(25) Покупка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru