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

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

26.03.2019, 21:35. Показов 1963. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru