Рубрики
Без рубрики

Создать модель в Django – Учебник для начинающих

Мягкое введение в моделях Django для начинающих. Tagged с Джанго, Вебдентом, Python, appseed.

Hello Coders,

Эта статья направлена на помощь начинающим понять, как Создать модель в Django Рамки, кодируя новое приложение с нуля и используйте в основном терминал. Исходный код образца можно загрузить с Github (MIT лицензию) и расширен для хобби и коммерческих продуктов. Для новичков Джанго является высокоуровневым веб-каркасом Python, построенной опытными разработчиками, которые поощряют быструю разработку и чистую, прагматичный дизайн.

Спасибо за прочтение! – Содержание, предоставленное Генератор приложений Отказ

Давайте код Django

Проверьте версию Python – рекомендуемая версия – Python3

$ python --version
Python 3.8.4        <-- All good, we have a 3.x version

Создать/активировать виртуальную среду – систему на основе UNIX

$ virtualenv env
$ source env/bin/activate  

Для Windows синтаксис немного отличается

$ virtualenv env
$ .\env\Scripts\activate

Установить Django

$ pip install django

Создать новый проект Django

$ mkdir django-create-model
$ cd django-create-model

Внутри нового каталога мы будем вызывать startproject. подкоманды:

$ django-admin startproject config .

Примечание : Примите во внимание, что Отказ в конце команды.

Настройка базы данных

$ python manage.py makemigrations
$ python manage.py migrate

Начать приложение

$ python manage.py runserver 
$
$ # Access the web app in browser: http://127.0.0.1:8000/

На данный момент мы должны увидеть страницу Django по умолчанию в браузере:

Создать новое приложение Django

$ python manage.py startapp sample

Визуализируйте настройки SQL по умолчаниюconfig/settings.py.

# File: config/settings.py (partial content)
...
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
...

Определите новую модель Книги в образец заявление. Ниже приведены изменения в Образец/models.py :

# File: sample/models.py

from django.db import models                       

class Book(models.Model):                                 # <- NEW
    title            = models.CharField(max_length=100)   # <- NEW 
    author           = models.CharField(max_length=100)   # <- NEW
    publication_date = models.DateField()                 # <- NEW 

Обновить конфигурацию проекта использовать новую модель – образец Приложение должно быть добавлено в конфигурацию проекта в Stall_apps раздел.

# File: config/settings.py (partial content)
...
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'sample'                        # <- NEW 
]
...

Совет – Для быстрой проверки за последние изменения мы можем запустить Проверьте подкоманды.

$ python manage.py check
System check identified no issues (0 silenced).  

Создайте код SQL

$ python manage.py makemigrations  # generate the SQL code
Migrations for 'sample':
  sample\migrations\0001_initial.py
    - Create model Book

Применить изменения в базе данных

$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sample, sessions
Running migrations:
  Applying sample.0001_initial... OK

Используйте модель через CLI

Как только модель создана, мы можем использовать его через оболочку Django

$ python manage.py shell
>>> 
>>> from sample.models import Book     # import the Book model in our context
>>> from django.utils import timezone  # used to provide the value for publication_date
>>>
>>> book1 = Book(title='The Adventures of Tom Sawyer', author='Mark Twain', publication_date=timezone.now() )
>>> book1.save()                       # save the new book

Перечислите все книги (Использование CLI)

$ python manage.py shell
>>> 
>>> from sample.models import Book
>>> Book.objects.all()
]>

Мы видим нашу новую книгу, восстанную запрос. Давайте улучшим информацию, которая описывает объект.

Модель Дянго – Добавить текстовое представление объекта

Для достижения этой цели мы должны определить __str __ () Метод для Книга модель

# File: sample/models.py

from django.db import models                       

class Book(models.Model): 
    title            = models.CharField(max_length=100) 
    author           = models.CharField(max_length=100)
    publication_date = models.DateField() 

    def __str__(self):       # <- NEW
        return self.title    # <- NEW

Перезапустим консоль Django и проверьте результаты:

$ python manage.py shell
>>> 
>>> from sample.models import Book
>>> Book.objects.all()
]>

Используйте модель через раздел администратора

Django поставляется с Админ Секция нашей коробки, которая позволяет нам управлять с облегчением всех моделей, определенных в проекте. Управлять Книга Модель в консоли администрирования нам нужно создать Суперзор (ака админ) и после регистр Книга Модель для видимости в разделе администратора.

Создать суперпользователь

$ python manage.py createsuperuser
sername (leave blank to use 'sm0ke'): admin
Email address: admin@appseed.us
Password: 
Password (again):
Superuser created successfully.

Регистрация Книга Модель, чтобы быть видной в Админ Раздел – редактировать Образец/admin.py Как показано ниже:

# File: sample/admin.py

from django.contrib import admin

from .models import Book        # <- NEW

admin.site.register(Book)       # <- NEW

Аутентифицировать как admin – http://localhost: 8000/admin/

На данный момент мы должны увидеть Книги Модель в интерфейсе UI и возможность выполнить операции CRUD.

Create Django Model – список модельных элементов

Django Create Model – редактирование записей

Спасибо за прочтение! Не стесняйтесь AMA в разделе комментариев.

Больше ресурсов Django

  • Узнайте больше о Джанго (Официальные документы)
  • Начните быстро новый проект, используя Reading Development Django начала

Оригинал: “https://dev.to/sm0ke/create-model-django-1536”