欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django admin model 漢化顯示文字的實(shí)現(xiàn)方法

 更新時(shí)間:2019年08月12日 08:41:08   作者:張榕軒  
今天小編就為大家分享一篇Django admin model 漢化顯示文字的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1、將添加blog的后臺(tái)基本操作

在blog文件夾下新建一個(gè)admin.py文件加入一下代碼:

from django.contrib import admin 
from djcms.apps.blog.models import Post, Category, Tag 
 
admin.site.register(Post) 
admin.site.register(Category) 
admin.site.register(Tag) 

重啟服務(wù),再到瀏覽器上登錄到后臺(tái),是不是增加了對(duì)blog的基本操作,不僅比較完善、界面整潔優(yōu)雅,而且很多都可以自定義,是不是很酷!后續(xù)再慢慢研究。

2、漢化表單、完善表單

目前位置,后臺(tái)的表單前面的標(biāo)簽label基本上都是默認(rèn)的字段名字,各種表單也是初始的狀態(tài),下面我們簡(jiǎn)單做些修改。修改后的模型代碼如下:

# coding:utf8
from django.db import models 
 
class Category(models.Model): 
 """ 
 文章分類(lèi)
 """ 
 title = models.CharField('名稱(chēng)', max_length=100)  # 分類(lèi)名稱(chēng) 
 alias = models.CharField('別名', max_length=100)  # 分類(lèi)別名(用于 url 優(yōu)化) 
 sort = models.SmallIntegerField('排序')     # 排序 
 
 class Meta: 
  verbose_name = '分類(lèi)' 
  verbose_name_plural = '分類(lèi)' 
  ordering = ['sort'] 
 
 def __unicode__(self): 
  return self.title 
 
class Tag(models.Model): 
 """ 
 文章標(biāo)簽
 """ 
 tagname = models.CharField('標(biāo)簽名', max_length=60)  # 標(biāo)簽名 
 post_ids = models.TextField(editable=False)    # 對(duì)應(yīng)的文章 id 集合的序列 
 
 class Meta: 
  verbose_name = '標(biāo)簽' 
  verbose_name_plural = '標(biāo)簽' 
 
 def __unicode__(self): 
  return self.tagname 
 
class Post(models.Model): 
 """ 
 博客文章
 """ 
 # 文章發(fā)布狀態(tài) 
 CONTENT_STATUS_PUBLISHED = 1 
 # 文章草稿箱狀態(tài) 
 CONTENT_STATUS_DRAFT = 2 
 # 文章?tīng)顟B(tài)選項(xiàng) 
 CONTENT_STATUS_CHOICES = ( 
  (CONTENT_STATUS_PUBLISHED, '發(fā)布'), 
  (CONTENT_STATUS_DRAFT, '草稿箱'), 
 ) 
 
 title = models.CharField('標(biāo)題', max_length=100)     # 標(biāo)題 
 content = models.TextField('文章內(nèi)容')        # 內(nèi)容 
 excerpt = models.TextField('摘要')         # 摘要 
 publish_date = models.DateTimeField('發(fā)表時(shí)間')      # 發(fā)表時(shí)間 
 status = models.IntegerField('狀態(tài)', 
         choices=CONTENT_STATUS_CHOICES, 
         default=CONTENT_STATUS_PUBLISHED)  # 狀態(tài):1為正式發(fā)布,2為草稿箱 
 comments_count = models.IntegerField(default=0, editable=False)  # 評(píng)論總數(shù) 
 view_count = models.IntegerField(default=0, editable=False)   # 瀏覽總數(shù) 
 
 alias = models.CharField('別名', max_length=100, blank=True)  # 別名(用于 url 優(yōu)化) 
 keywords = models.CharField('關(guān)鍵字', max_length=500, blank=True) # 關(guān)鍵字 
 description = models.TextField('描述', blank=True)     # 描述 
 
 user = models.ForeignKey("auth.User", 
        verbose_name = '作者', 
        related_name="%(class)ss")     # 作者 
 categories = models.ManyToManyField(Category, blank=True, 
          verbose_name = '分類(lèi)', 
          related_name="posts")   # 分類(lèi) 
 
 class Meta: 
  verbose_name = '文章' 
  verbose_name_plural = '文章' 
  ordering = ['publish_date'] 
 
 def __unicode__(self): 
  return self.title 

其中將文章?tīng)顟B(tài)選項(xiàng)CONTENT_STATUS_CHOICES 寫(xiě)在Post類(lèi)中更加合理,而Meta中的verbose_name表示單數(shù)形式的顯示,verbose_name_plural表示復(fù)數(shù)形式的顯示,因?yàn)橹形牡膯螖?shù)和復(fù)數(shù)一般不作區(qū)別,如果是英文一般默認(rèn)會(huì)的復(fù)數(shù)是加上了s

進(jìn)一步完善文章的列表顯示和表單,在blog下面的admin.py文件中加入PostAdmin類(lèi):

class PostAdmin(admin.ModelAdmin):
 list_display = ('title', 'publish_date', 'user', 'status')  # 列表顯示的字段
 search_fields = ('title',)          # 列表包含根據(jù)指定字段搜索
 list_filter = ('publish_date',)         # 右側(cè)過(guò)濾選項(xiàng)
 
 # 分組表單
 fieldsets = (
  ('基本信息', {'fields': ('title', 'content', 'excerpt', 'publish_date','status', 'user', 'categories')}),
  ('Meta Data', {'fields': ('alias', 'keywords', 'description')}),
 )

注意,有3種類(lèi)型的域不能按如上方式添加自定義名稱(chēng):ManyToManyField,OneToOneField,F(xiàn)oreignKey。而應(yīng)該顯示指定:

class Film(models.Model):
 title = models.CharField('片名', max_length=100)
 actors = models.ManyToManyField(Actor,verbose_name='演員')
 pub_date = models.DateField('發(fā)行日期')
 publisher = models.ForeignKey(Publisher,verbose_name='發(fā)行商')

如果想修改通過(guò)admin自動(dòng)生成的后臺(tái)管理標(biāo)題 請(qǐng)用國(guó)際化處理, 如果改變布局可以重寫(xiě)admin的頁(yè)面

以上這篇Django admin model 漢化顯示文字的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python opencv minAreaRect 生成最小外接矩形的方法

    python opencv minAreaRect 生成最小外接矩形的方法

    這篇文章主要介紹了python opencv minAreaRect 生成最小外接矩形的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python?numpy下幾種fft函數(shù)的使用方式

    Python?numpy下幾種fft函數(shù)的使用方式

    numpy中有一個(gè)fft的庫(kù),scipy中也有一個(gè)fftpack的庫(kù),各自都有fft函數(shù),兩者的用法基本是一致的,下面這篇文章主要給大家介紹了關(guān)于Python?numpy下幾種fft函數(shù)的使用方式,需要的朋友可以參考下
    2022-08-08
  • 淺析Python中線程以及線程阻塞

    淺析Python中線程以及線程阻塞

    這篇文章主要為大家簡(jiǎn)單介紹一下Python中線程以及線程阻塞的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-04-04
  • Python中使用Frozenset對(duì)象的案例詳解

    Python中使用Frozenset對(duì)象的案例詳解

    Frozensets提供了一種創(chuàng)建不可變的集合的方法,它們只接受唯一的元素,并且是可散列類(lèi)型的對(duì)象,所以它們可以在其他只接受可散列對(duì)象作為子對(duì)象的?Python?對(duì)象中使用,這篇文章主要介紹了如何在Python中使用Frozenset對(duì)象,需要的朋友可以參考下
    2022-08-08
  • python獲取word文檔總頁(yè)數(shù)的兩種方法

    python獲取word文檔總頁(yè)數(shù)的兩種方法

    這篇文章主要介紹了python獲取word文檔的總頁(yè)數(shù)的兩種方法,文中給出了兩種解決方案,兩種方案也都各有優(yōu)缺點(diǎn),可能也不一定是完全準(zhǔn)確的,需要的朋友可以參考下
    2024-03-03
  • Python?web框架實(shí)現(xiàn)增加BasicAuth認(rèn)證詳解

    Python?web框架實(shí)現(xiàn)增加BasicAuth認(rèn)證詳解

    這篇文章主要為大家詳細(xì)介紹了Python如何在web框架中實(shí)現(xiàn)增加BasicAuth認(rèn)證,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05
  • python基礎(chǔ)之函數(shù)

    python基礎(chǔ)之函數(shù)

    這篇文章主要介紹了python的函數(shù),實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • python高手之路python處理excel文件(方法匯總)

    python高手之路python處理excel文件(方法匯總)

    用python來(lái)自動(dòng)生成excel數(shù)據(jù)文件。python處理excel文件主要是第三方模塊庫(kù)xlrd、xlwt、xluntils和pyExcelerator,除此之外,python處理excel還可以用win32com和openpyxl模塊
    2016-01-01
  • django xadmin實(shí)現(xiàn)自定義頁(yè)面并且權(quán)限控制方式

    django xadmin實(shí)現(xiàn)自定義頁(yè)面并且權(quán)限控制方式

    這篇文章主要介紹了django xadmin實(shí)現(xiàn)自定義頁(yè)面并且權(quán)限控制方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 使用jupyter Nodebook查看函數(shù)或方法的參數(shù)以及使用情況

    使用jupyter Nodebook查看函數(shù)或方法的參數(shù)以及使用情況

    這篇文章主要介紹了使用jupyter Nodebook查看函數(shù)或方法的參數(shù)以及使用情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04

最新評(píng)論