Django 中自定義 Admin 樣式的實現(xiàn)?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
settings.py
LANGUAGE_CODE = 'zh-hans'
修改結果
應用/apps.py
from django.apps import AppConfig class BbssConfig(AppConfig): name = 'bbs' # 添加下面這句 verbose_name = 'BBS系統(tǒng)'
修改結果
應用/models.py
class Comment(models.Model): topic = models.ForeignKey(Topic, on_delete=models.CASCADE) comment_text = models.TextField(max_length=2000) author = models.ForeignKey(User, default=1, on_delete=models.CASCADE) picture = models.FileField(blank=True, null=True) # 添加文件類型字段,并默認為空 pub_date = models.DateTimeField(auto_now_add=True) def get_comment_text_md(self): """將markdown格式轉化為html""" return mark_safe(markdown(self.comment_text)) def __str__(self): return self.comment_text class Meta: verbose_name = '評論' # 單數(shù)時顯示內(nèi)容 verbose_name_plural = '評論' # 復數(shù)時顯示內(nèi)容
默認數(shù)據(jù)庫表在后臺中顯示都為復數(shù)形式,而中文沒有復數(shù)形式,因此將兩種形式都設置為相同名稱
修改結果
應用/models.py
class Comment(models.Model): topic = models.ForeignKey(Topic, on_delete=models.CASCADE, verbose_name='話題') comment_text = models.TextField('評價內(nèi)容', max_length=2000) author = models.ForeignKey(User, default=1, on_delete=models.CASCADE, verbose_name='用戶') picture = models.FileField('圖片', blank=True, null=True) # 添加文件類型字段,并默認為空 pub_date = models.DateTimeField('發(fā)布時間', auto_now_add=True) def get_comment_text_md(self): """將markdown格式轉化為html""" return mark_safe(markdown(self.comment_text)) def __str__(self): return self.comment_text class Meta: verbose_name = '評論' # 單數(shù)時顯示內(nèi)容 verbose_name_plural = '評論' # 復數(shù)時顯示內(nèi)容
一般的字段只需加個顯示名稱的位置參數(shù)就可以,而一對多關系的要指定關鍵字參數(shù) verbose_name
,并且關鍵字參數(shù)要放在位置參數(shù)后面
修改結果
使用 django-grappelli 第三方應用進行修改admin樣式
GitHub:https://github.com/sehmaschine/django-grappelli
文檔:https://django-grappelli.readthedocs.io/en/latest/quickstart.html
其他工具:https://djangopackages.org/grids/g/admin-interface/
pip install django-grappelli
settings.py
INSTALLED_APPS = [ 'accounts.apps.AccountsConfig', 'polls.apps.PollsConfig', 'bbs.apps.BbssConfig', 'grappelli', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
項目 / urls.py
urlpatterns = [ path('grappelli', include('grappelli.urls')), path('admin/', admin.site.urls), path('', include('bbs.urls')), path('accounts/', include('accounts.urls')), ]
2.4 收集靜態(tài)文件統(tǒng)一放到一個地方
settings.py 中添加
# 收集靜態(tài)文件統(tǒng)一存放的根路徑 STATIC_ROOT = os.path.join(BASE_DIR, 'static-files')
執(zhí)行命令
python manage.py collectstatic
自動生成
再次啟動服務會發(fā)現(xiàn)管理頁面已經(jīng)被修改
settings.py 中添加
# 后臺自定義標題 GRAPPELLI_ADMIN_TITLE = 'Z-BBS ADMIN'
刷新頁面
2.6 admin開啟分頁功能
應用 / admin.py
from django.contrib import admin # Register your models here. from .models import Topic, Comment class TopicAdmin(admin.ModelAdmin): list_display = ('topic_text', 'author', 'pub_date') search_fields = ('topic_text', 'author') list_editable = ('author',) list_per_page = 10 class CommentAdmin(admin.ModelAdmin): list_display = ( 'comment_text', 'author', 'pub_date', 'topic') search_fields = ('comment_text', 'author') list_editable = ('author',) list_per_page = 10
應用 / admin.py
class TopicAdmin(admin.ModelAdmin): list_display = ('topic_text', 'author', 'pub_date') list_filter = ('topic_text', 'author', 'pub_date') search_fields = ('topic_text',) list_editable = ('author',) list_per_page = 10 class CommentAdmin(admin.ModelAdmin): list_display = ( 'comment_text', 'author', 'pub_date', 'topic') list_filter = ('comment_text', 'author', 'pub_date', 'topic') search_fields = ('comment_text',) list_editable = ('author',) list_per_page = 10
開啟之后記得強制刷新頁面(ctrl + shift + r),重新加載 js 和 css 代碼
看完上述內(nèi)容,你們掌握Django 中自定義 Admin 樣式的實現(xiàn)的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:Django中自定義Admin樣式的實現(xiàn)-創(chuàng)新互聯(lián)
轉載來于:http://sd-ha.com/article2/jjioc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、標簽優(yōu)化、定制開發(fā)、搜索引擎優(yōu)化、網(wǎng)站營銷、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)