1. 程式人生 > >Django之choices選項和富文字編輯器的使用

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

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

 

 

 即富文字編輯器在後臺中使用成功。

&n