Django博客--3.创作后台开启
生活随笔
收集整理的這篇文章主要介紹了
Django博客--3.创作后台开启
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 0.創建admin后臺管理員賬號
- 1.在 admin 后臺注冊模型
- 2.漢化應用的標題
- 3.漢化應用下各個模塊的名稱
- 4.漢化應用下各個模塊的屬性的名稱
- 5.文章列表顯示更加詳細的信息
- 6.簡化新增文章的表單
- 7.自動設置文章作者為當前用戶
- 8.設定創建時間為當前時間
- 9.設定修改建時間為保存時的時間
0.創建admin后臺管理員賬號
運行 pipenv run python manage.py createsuperuser
并根據提示以此填入用戶名,郵箱,密碼等進行注冊。
1.在 admin 后臺注冊模型
文件位置:blog/admin.py
from django.contrib import admin from .models import Post, Category, Tagadmin.site.register(Post) admin.site.register(Category) admin.site.register(Tag)運行服務器,訪問127.0.0.1:8000/admin/ ,結果如下(圖中已進行漢化,漢化將在接下來進行說明):
2.漢化應用的標題
文件位置:blog/apps.py
class BlogConfig(AppConfig):name = 'blog'verbose_name = '博客'文件位置:setting.py
INSTALLED_APPS = ['django.contrib.admin',...'blog.apps.BlogConfig', # 注冊 blog 應用 ]效果如下:
3.漢化應用下各個模塊的名稱
文件位置:blog/models.py
Post 模型:
Tag 和 Category 模型:
class Category(models.Model):name = models.CharField(max_length=100)class Meta:verbose_name = '分類'verbose_name_plural = verbose_namedef __str__(self):return self.nameclass Tag(models.Model):name = models.CharField(max_length=100)class Meta:verbose_name = '標簽'verbose_name_plural = verbose_namedef __str__(self):return self.name`效果如下:
4.漢化應用下各個模塊的屬性的名稱
文件位置:blog/models.py
修改 post 的表單的 label
效果如下:
5.文章列表顯示更加詳細的信息
文件位置:blog/admin.py
from django.contrib import admin from .models import Post, Category, Tagclass PostAdmin(admin.ModelAdmin):list_display = ['title', 'created_time', 'modified_time', 'category', 'author']# 把新增的 Postadmin 也注冊進來 admin.site.register(Post, PostAdmin) admin.site.register(Category) admin.site.register(Tag)效果如下:
6.簡化新增文章的表單
文件位置:blog/admin.py
from django.contrib import admin from .models import Post, Category, Tagclass PostAdmin(admin.ModelAdmin):list_display = ['title', 'created_time', 'modified_time', 'category', 'author']fields = ['title', 'body', 'excerpt', 'category', 'tags']# 把新增的 Postadmin 也注冊進來 admin.site.register(Post, PostAdmin) admin.site.register(Category) admin.site.register(Tag)效果如下:
7.自動設置文章作者為當前用戶
文件位置:blog/admin.py
from django.contrib import admin from .models import Post,Category,Tagclass PostAdmin(admin.ModelAdmin):list_display = ['title','created_time','modified_time','category','author']fields = ['title', 'body', 'excerpt', 'category', 'tags']def save_model(self, request, obj, form, change):obj.author = request.usersuper().save_model(request, obj, form, change)admin.site.register(Post, PostAdmin) admin.site.register(Category) admin.site.register(Tag)8.設定創建時間為當前時間
文件位置:blog/models.py
from django.utils import timezoneclass Post(models.Model):...created_time = models.DateTimeField('創建時間', default=timezone.now)...9.設定修改建時間為保存時的時間
文件位置:blog/models.py
from django.utils import timezoneclass Post(models.Model):...def save(self, *args, **kwargs):self.modified_time = timezone.now()super().save(*args, **kwargs)總結
以上是生活随笔為你收集整理的Django博客--3.创作后台开启的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 半导体封装种类
- 下一篇: rHadoop分布式安装与配置