Django之choices選項和富文本編輯器的使用

  • 2019 年 10 月 3 日
  • 筆記

項目準備

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.進入後台管理,增加商品

至此,我們可以在後台管理中看見如下頁面

 

 

 即富文本編輯器在後台中使用成功。