最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django admin model 漢化顯示文字的實現方法

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

1、將添加blog的后臺基本操作

在blog文件夾下新建一個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) 

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

2、漢化表單、完善表單

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

# coding:utf8
from django.db import models 
 
class Category(models.Model): 
 """ 
 文章分類
 """ 
 title = models.CharField('名稱', max_length=100)  # 分類名稱 
 alias = models.CharField('別名', max_length=100)  # 分類別名(用于 url 優(yōu)化) 
 sort = models.SmallIntegerField('排序')     # 排序 
 
 class Meta: 
  verbose_name = '分類' 
  verbose_name_plural = '分類' 
  ordering = ['sort'] 
 
 def __unicode__(self): 
  return self.title 
 
class Tag(models.Model): 
 """ 
 文章標簽
 """ 
 tagname = models.CharField('標簽名', max_length=60)  # 標簽名 
 post_ids = models.TextField(editable=False)    # 對應的文章 id 集合的序列 
 
 class Meta: 
  verbose_name = '標簽' 
  verbose_name_plural = '標簽' 
 
 def __unicode__(self): 
  return self.tagname 
 
class Post(models.Model): 
 """ 
 博客文章
 """ 
 # 文章發(fā)布狀態(tài) 
 CONTENT_STATUS_PUBLISHED = 1 
 # 文章草稿箱狀態(tài) 
 CONTENT_STATUS_DRAFT = 2 
 # 文章狀態(tài)選項 
 CONTENT_STATUS_CHOICES = ( 
  (CONTENT_STATUS_PUBLISHED, '發(fā)布'), 
  (CONTENT_STATUS_DRAFT, '草稿箱'), 
 ) 
 
 title = models.CharField('標題', max_length=100)     # 標題 
 content = models.TextField('文章內容')        # 內容 
 excerpt = models.TextField('摘要')         # 摘要 
 publish_date = models.DateTimeField('發(fā)表時間')      # 發(fā)表時間 
 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)  # 評論總數 
 view_count = models.IntegerField(default=0, editable=False)   # 瀏覽總數 
 
 alias = models.CharField('別名', max_length=100, blank=True)  # 別名(用于 url 優(yōu)化) 
 keywords = models.CharField('關鍵字', max_length=500, blank=True) # 關鍵字 
 description = models.TextField('描述', blank=True)     # 描述 
 
 user = models.ForeignKey("auth.User", 
        verbose_name = '作者', 
        related_name="%(class)ss")     # 作者 
 categories = models.ManyToManyField(Category, blank=True, 
          verbose_name = '分類', 
          related_name="posts")   # 分類 
 
 class Meta: 
  verbose_name = '文章' 
  verbose_name_plural = '文章' 
  ordering = ['publish_date'] 
 
 def __unicode__(self): 
  return self.title 

其中將文章狀態(tài)選項CONTENT_STATUS_CHOICES 寫在Post類中更加合理,而Meta中的verbose_name表示單數形式的顯示,verbose_name_plural表示復數形式的顯示,因為中文的單數和復數一般不作區(qū)別,如果是英文一般默認會的復數是加上了s

進一步完善文章的列表顯示和表單,在blog下面的admin.py文件中加入PostAdmin類:

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

注意,有3種類型的域不能按如上方式添加自定義名稱:ManyToManyField,OneToOneField,ForeignKey。而應該顯示指定:

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ā)行商')

如果想修改通過admin自動生成的后臺管理標題 請用國際化處理, 如果改變布局可以重寫admin的頁面

以上這篇Django admin model 漢化顯示文字的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

凤台县| 松阳县| 大渡口区| 涟水县| 馆陶县| 楚雄市| 航空| 商洛市| 南郑县| 武义县| 弋阳县| 海淀区| 亚东县| 枞阳县| 嘉定区| 昔阳县| 饶河县| 宜城市| 张家口市| 疏勒县| 甘洛县| 乐昌市| 柯坪县| 兖州市| 平阴县| 舟曲县| 万安县| 疏附县| 固始县| 清丰县| 株洲县| 虞城县| 长葛市| 武威市| 平果县| 平度市| 沙洋县| 略阳县| 宜昌市| 贵州省| 陇川县|