Суперпользователь в Django и создать собственное приложение оказалось так просто!

задняя часть Django
Суперпользователь в Django и создать собственное приложение оказалось так просто!

Это 6-й день моего участия в ноябрьском испытании обновлений, подробности о событии:Вызов последнего обновления 2021 г.

Первая из серии статей:Быстро создайте проект Django, и среда Python также устроена для вас

Создать учетную запись администратора

Сначала в vscode запускаем проект отладки, затем открываем терминал, входим в соответствующий каталог проекта и выполняем командуpipenv shellВы можете войти в виртуальную среду, а затем выполнить следующую команду, чтобы создать учетную запись администратора:

python manage.py createsuperuser

После успешного создания мы можем получить доступ к следующему URL-адресу в браузере (убедитесь, что проект запущен в vscode)

http://127.0.0.1:8000/admin

Он автоматически перейдет к интерфейсу входа администратора,Введите учетную запись и пароль, которые мы только что создали, чтобы войти в фон управления, который поставляется с django,Есть два значения по умолчаниюGroups(по умолчанию пусто),Users(Есть учетная запись администратора, которую мы создали сами, и мы также можем создавать другие учетные записи администратора прямо здесь).

Основное введение в settings.py

Откройте файл settings.py в vscode (конечно, вы также можете использовать pycharm или другие инструменты разработки кода), и вы можете увидеть исходный код внутри. Вы можете в основном понять значение некоторых кодов через некоторые комментарии на английском языке. Здесь я выбрал некоторые которые нужно модифицировать, Обычно используемая конфигурация, объясните всем, я думаю, вы совсем новички, поэтому я представлю это (конечно, вы также можете пропустить это).

# 也可以前往官网查看相关介绍(推荐)
For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
# True 表示会在终端输出调试信息,在生产环境中需要设置为False
DEBUG = True

# 可以设置允许访问的ip地址,默认是 127.0.0.1
ALLOWED_HOSTS = []

# app配置说明,每个新建的app都要在这里安装
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

# 模版配置,默认是DjangoTemplates,也可以改成大家熟知的Jinja2
# 这里我们需要设置一下DIRS,添加一个根目录下的templates文件
# APP_DIRS设置为True,设置为False后无法正常使用Django admin后台
# 所有的模板我们都放到根目录下的templates文件,统一管理
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# 数据库配置,默认使用sqlite3
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

# 项目语言
LANGUAGE_CODE = 'en-us'
# 时间时区
TIME_ZONE = 'UTC'

# 静态资源文件路径
STATIC_URL = '/static/'

Благодаря объяснению приведенных выше комментариев, прежде всего, мы можем изменить язык проекта и часовой пояс, перейти на китайский язык и изменить часовой пояс на свою сторону ~

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

После изменения и сохранения проект открывается в режиме отладки, поэтому система будет автоматически обновляться после сохранения, без необходимости повторного запуска проекта. Мы напрямую обновляем фоновую страницу управления, которую мы посетили ранее, и обнаружим, что содержимое страница стала китайской.

Создать приложение для блога

Сначала в vscode запускаем проект отладки, затем открываем терминал, входим в соответствующий каталог проекта и выполняем командуpipenv shellВы можете войти в виртуальную среду, а затем выполнить следующую команду, чтобы создать учетную запись администратора:

python manage.py startapp blog

После запуска мы смотрим на структуру каталогов и находим дополнительный каталог блога, который представляет собой только что созданное приложение.Здесь необходимо объяснить, что myblog — это каталог, когда мы создаем проект, который можно понимать как запись программы, включая файлы конфигурации, системную маршрутизацию и конфигурацию интерфейса шлюза веб-службы.

О файлах во вновь созданном каталоге блога приложения (краткое введение):

  • миграции Файлы миграции, в которых в основном хранятся операторы операций с базой данных, перенесенные из моделей в базу данных;
  • admin.py регистрирует файл модели, зарегистрированная модель может отображаться в фоновом режиме управления администратором;
  • apps.py может дополнительно задавать в нем конфигурацию программы, и применять конфигурацию;
  • файл модели данных models.py, дизайн базы данных в основном здесь, вы можете напрямую создавать объекты класса;
  • тестовый файл test.py, в основном используемый для тестирования приложений;
  • файл просмотра views.py, в основном функции реализации функций записи;
  • urls.py (вам нужно создать его самостоятельно) файл маршрутизации, обратите внимание на объявление отношения маршрутизации.

Зарегистрируйте только что созданное приложение в настройках

Создайте хорошее приложение, сначала нужно быть в настройкахINSTALLED_APPSДобавьте только что созданное приложение в

INSTALLED_APPS = [
    'django.contrib.admin',
    ...
    'blog',  # 博客app
]

Создание моделей статей

Войтиblog/models.py, мы сначала создаемArticleМодель, модель статьи в основном включает в себя четыре атрибута: автор статьи, название статьи, резюме статьи и тело статьи.Должны быть добавлены другие атрибуты: изображение заголовка, метка статьи, просмотры страниц и т. д., чтобы облегчить вход и обучение, и другие атрибуты будут добавлено позже:

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class Article(models.Model):
    """
    创建一个基本的文章对象
    包括:作者、标题、概要、正文
    后期需要添加:标题图、文章标签、浏览量等
    """
    # 文章作者,author 通过 models.ForeignKey 外键与系统自带的 User 模型关联在一起
    # 参数 on_delete 用于指定数据删除的方式,避免两个关联表的数据不一致。
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    # 文章标题
    title = models.CharField(max_length=255, null=False, blank=False)
    # 文章概要
    summary = models.CharField(max_length=255, null=False, blank=False)
    # 文章正文
    content = models.TextField()
    
    # 内部类 class Meta 用于给 model 定义元数据
    class Meta:
        # ordering 指定模型返回的数据的排列顺序
        # '-title' 表明数据列表显示按标题名称降序排列
        ordering = ('-title',)
        # db_table 歉意映射到数据库后的表名
        db_table = 'tb_article'
        # django后台管理系统显示名称
        verbose_name = '文章管理'
        verbose_name_plural = verbose_name

    # 函数 __str__ 定义当调用对象的 str() 方法时的返回值内容
    # 它最常见的就是在Django管理后台中做为对象的显示值。因此应该总是为 __str__ 返回一个友好易读的字符串
    def __str__(self):
        # 将文章标题返回,django后台管理系统显示条目名称
        return str(self.author) + '-' + self.title

После создания модуля нам нужно зарегистрировать модель статьи вblog/admin.pyТаким образом, он будет отображаться в системе управления фоном.

from django.contrib import admin
from blog.models import Article

# Register your models here.
# 注册模型
admin.site.register(Article)

Кроме того, нам также необходимо выполнить команду миграции на терминале, чтобы система автоматически создала для нас соответствующую таблицу в базе данных по атрибутам в модели статьи.

# 进入虚拟环境后执行以下命令
python manage.py makemigrations
python manage.py migrate

Выполнив указанные выше настройки, мы завершили создание и регистрацию модели, а также миграцию в базу данных.Далее мы можем получить прямой доступ к браузеру после запуска программы.http://127.0.0.1:8000/admin, если вам нужно войти в систему, вы можете войти непосредственно с учетной записью администратора, которую вы создали ранее.После входа в систему мы можем увидеть наш новый модуль управления статьями.Нажмите, чтобы войти в модуль управления статьями, мы можем добавлять, удалять, проверять и изменять статью, по умолчанию пусто, я добавил статью ниже.мы можем нажать增加 文章管理, Вы можете создать новую статью, мы выбираем автор (который связан с пользователем в системе, поэтому мы можем выбрать его напрямую), введите только заголовок статьи, сводку статьев, контент статьи, а затем нажмите «Сохранить» или нажать Сохранить и добавить другую или сохранить и продолжить редактирование.После сохранения он автоматически перейдет на страницу управления статьями и отобразит все статьи в текущей базе данных в виде списка.Просто нажмите на статью, вы можете войти в интерфейс редактирования соответствующей статьи, вы можете изменить или удалить содержимое.

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