• Django之choices选项和富文本编辑器的使用


    项目准备

    1.创建数据库

    create database choices_test default charset utf8;

    2.创建一个名为 choices_test 的Django项目;

    3.创建应用app01;

    项目结构如下所示

     4.配置数据库;

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'choices_test',
            'USER': 'root',
            'PASSWORD': 'root',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }

    5.__init__.py

    import pymysql
    
    pymysql.install_as_MySQLdb()

    choices选项的使用

    在模型类中使用choices选项

    1.编写Goods模型类

    from django.db import models
    
    class Goods(models.Model):
        STATUS_CHOICES = (
            (0, '下架'),
            (1, '上架'),
        )
        ststus = models.SmallIntegerField(choices=STATUS_CHOICES, default=1, verbose_name="商品上架下架")
    
        class Meta:
            db_table = "goods"  # 指定创建表名使表名为goods
            verbose_name = "商品"
            verbose_name_plural = verbose_name  # 和上面一句结合使用,在后台管理时显示表名为"商品"

    verbose_name作用

    • verbose_name:设置在admin中显示的名称,并且默认会后面加个s,表示复数;
    • verbose_name_plural = verbose_name; --->设置在admin显示的不加s;

    2.去admin.py文件注册Goods模型类 

    from django.contrib import admin
    from app01.models import Goods
    
    
    admin.site.register(Goods)

    3.数据表迁移

    python manage.py makemigrations
    
    python manage.py migrate

    4.配置后台管理

    配置时区

    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/Shanghai'

    创建超级管理员

    python manage.py createsuperuser
    user:admin
    password:admin123

    5.启动项目

    登录后台管理

    如下页面

     choices选项效果图

    富文本编辑器

    富文本编辑器准备

    1.安装编辑器包

    pip install django-tinymce

    2.注册tinymce应用

    INSTALLED_APPS = [
        'tinymce',
    ]

    3.在settings文件中添加tinymce配置

    # 编辑器相关配置
    TINYMCE_DEFAULT_CONFIG = {
        'theme': 'advanced',
        'width': 600,
        'height': 400,
    }

    4.配置tinymce路由

    from django.conf.urls import url, include
    
    urlpatterns = [
        url(r'^tinymce/', include('tinymce.urls')),
    ]

    模型类中使用编辑器

    1.编写模型类代码

    from tinymce.models import HTMLField
    
    
    class Goods(models.Model):
        """商品测试模型类"""
        STATUS_CHOICES = (
            (0, '下架'),
            (1, '上架'),
        )
        ststus = models.SmallIntegerField(choices=STATUS_CHOICES, default=1, verbose_name="商品上架下架")
        # null=True 允许数据库为空,blank=True 允许后台输入时为空
        detail = HTMLField(null=True, blank=True, verbose_name="商品详情")
    
        class Meta:
            db_table = "goods"  # 指定创建表名使表名为goods
            verbose_name = "商品"
            verbose_name_plural = verbose_name  # 和上面一句结合使用,在后台管理时显示表名为"商品"

    2.数据表迁移

    python manage.py makemigrations
    
    python manage.py migrate

    3.进入后台管理,增加商品

    至此,我们可以在后台管理中看见如下页面

     即富文本编辑器在后台中使用成功。

  • 相关阅读:
    计算机网络 概述
    ISO/ISO 参考模型 和 TCP/IP模型
    Elasticsearch 6.2.3版本 执行聚合报错 Fielddata is disabled on text fields by default
    Elasticsearch 6.2.3版本 filtered 报错问题 no [query] registered for [filtered]
    Elasticsearch 6.2.3版本 Windows环境 简单操作
    MyBatis 模糊查询
    常用正则表达式
    页面加载时的div动画
    Highcharts的一些属性
    highcharts去掉x轴,y轴,轴线以及刻度
  • 原文地址:https://www.cnblogs.com/yifchan/p/python-1-35.html
Copyright © 2020-2023  润新知