Предпосылки:
Перед тем, как практиковать сценарий этого руководства, вам необходимо выполнить следующие задачи.
А. Установите Django версии 3+ на Ubuntu 20+ (желательно)
B. Создайте проект Django
C. Запустите сервер Django, чтобы проверить, работает ли сервер правильно или нет.
Настройте приложение Django:
А. Выполните следующую команду, чтобы создать приложение Django с именем база данных.
$ python3 manage.py startapp databaseappB. Выполните следующую команду, чтобы создать пользователя для доступа к базе данных Django. Если вы уже завершили работу с пользователем раньше, то вам не нужно запускать команду.
$ python3 manage.py создает суперпользователяC. Добавьте название приложения в INSTALLED_APP часть настроек.py файл.
INSTALLED_APPS = […
'validationapp'
]
D. Создайте папку с именем шаблоны внутри база данных папку и установите шаблон расположение приложения в ШАБЛОНЫ часть настройки.ру файл.
ШАБЛОНЫ = [… .
'DIRS': ['/ home / fahmida / django_pro / databaseapp / templates'],
… .
,
]
Модель проекта с атрибутами по умолчанию и нулевыми атрибутами:
Измените модели.ру файл со следующим сценарием для создания таблицы с именем продукты который будет содержать четыре поля без поля id. Эти имена, цена, дата изготовления и дата истечения срока. Ценность ноль атрибут установлен на True для всех полей. Значение бланк атрибут установлен в True для всех полей также. Это означает, что пользователь может оставить поля пустыми перед отправкой формы, которая будет использовать эту модель. В По умолчанию значение атрибута устанавливается для цены, даты изготовления и даты истечения срока действия.
модели.ру
# Модуль импорта моделейиз джанго.модели импорта БД
# Создать класс для определения структуры таблицы учителей
класс Продукт (модели.Модель):
имя = модели.CharField (max_length = 50, null = True, blank = True)
цена = модели.IntegerField (null = True, по умолчанию = ", blank = True)
production_date = модели.DateField (null = True, по умолчанию = '0000-00-00', blank = True)
expire_date = модели.DateField (null = True, по умолчанию = '0000-00-00', blank = True)
Выполните следующие команды миграции, чтобы создать необходимые файлы миграции и таблицу базы данных базы данных SQLite.
$ python3 manage.приложение базы данных makemigrations py$ python3 manage.Py migrate
Вставка данных с помощью панели администрирования Django:
Измените содержание админ.ру файл со следующим скриптом для регистрации модели в базе данных.
админ.ру
Измените URL-адреса.ру файл со следующим сценарием, чтобы определить путь для открытия административной панели Django.
URL-адреса.ру
# Импортировать админ-модульиз джанго.contrib import admin
# Импортировать модуль пути
из джанго.путь импорта URL
# Определить путь для клиента и администратора
urlpatterns = [
путь ('админ /', админ.сайт.URL-адреса)
]
Теперь запустите сервер Django и перейдите в административную панель Django, используя следующий URL-адрес.
http: // localhist: 8000 / администратор
откройте форму ввода продукта, нажав Добавить товар. Если пользователь отправляет форму, не вставляя данные, в браузере появится следующий результат. Здесь два поля даты показывают ошибки, потому что значение поля даты по умолчанию не в допустимом формате.
Следующий вывод появится после добавления действительных данных даты. Здесь цена поле пусто для использования атрибута по умолчанию.
Вставка данных с использованием шаблона:
Способ вставки данных в продукты таблица с использованием HTML-формы была показана в этом разделе. Здесь элементы формы будут сгенерированы на основе ранее созданной модели.
формы.ру
# Модуль импорта формиз форм импорта django
# Импортировать модель клиента
из dbapp.модели импорт продукции
# Определить класс для формы клиента
класс ProductForm (формы.ModelForm):
класс Мета:
model = Продукт
fields = '__all__'
Создайте HTML-файл с именем продукт.html внутри шаблоны папка приложения со следующим скриптом. Данные формы будут отправлены, когда пользователь нажмет на Сохранить кнопка.
продукт.html
Форма заявки клиента
Измените взгляды.ру файл со следующим сценарием для вставки данных в продукты таблица после проверки формы. AddProduct () функция определена в скрипте, чтобы проверить, отправлена ли форма или нет, и если форма отправлена, то она проверит, что данные формы действительны или недействительны. Если действует() функция возвращает правда, тогда данные будут вставлены в продукты таблица, и в браузере отобразится сообщение об успешном выполнении.
взгляды.ру
# Импортировать модуль HttpResponseиз джанго.http.импорт ответа HttpResponse
# Импортировать модуль рендеринга
из джанго.ярлыки импорт рендеринга
# Import ProductForm
из dbapp.формы импорта ProductForm
# Определить функцию для добавления записи о продукте
def AddProduct (запрос):
если запрос.method == "POST":
form = ProductForm (запрос.ПОЧТА)
# Если данные формы действительны или нет
если форма.действует():
пытаться:
# Сохраняем данные формы в базу данных
форма.спасти()
# Определить сообщение для пользователя
data = ['
Товар добавлен.
']# Вернуть ответ
вернуть HttpResponse (данные)
Кроме:
проходить
еще:
# Определить объект формы
form = ProductForm ()
# Показать форму ввода продукта
вернуть рендер (запрос, 'продукт.html ', ' form ': form)
Измените URL-адреса.ру файл со следующим сценарием, чтобы определить путь для вызова функции просмотра.
URL-адреса.ру
# Импортировать админ-модульиз джанго.contrib import admin
# Импортировать модуль пути
из джанго.путь импорта URL
# Импортировать представление
из представлений импорта dbapp
# Определить путь для клиента и администратора
urlpatterns = [
путь (", просмотров.AddProduct),
путь ('админ /', админ.сайт.URL-адреса)
]
Теперь запустите сервер Django и откройте базовый URL-адрес в браузере.
http: // localhist: 8000 /
Появится следующая форма.
Следующие ValueError появится, если пользователь отправит форму без добавления данных в форму. Здесь цена поле - целое число, которое не может быть пустой строкой.
Если пользователь вводит действительные данные, как в форме ниже, и нажимает Сохранить кнопка, новая запись о продукте будет вставлена в базу данных.
Следующее изображение появится, если вы откроете только что вставленную запись из Django Dashboard.
Заключение:
Модель была разработана с использованием атрибутов null и атрибутов по умолчанию в этом руководстве. Затем здесь показаны способы вставки данных в эти поля в серверной части и во внешнем интерфейсе, чтобы помочь читателю узнать об использовании атрибутов default и null в базе данных Django.