日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django博客--3.创作后台开启

發布時間:2023/12/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 模型:

class Post(models.Model):...author = models.ForeignKey(User, on_delete=models.CASCADE)class Meta:verbose_name = '文章'verbose_name_plural = verbose_namedef __str__(self):return self.title

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

class Post(models.Model):title = models.CharField('標題', max_length=70)body = models.TextField('正文')created_time = models.DateTimeField('創建時間')modified_time = models.DateTimeField('修改時間')excerpt = models.CharField('摘要', max_length=200, blank=True)category = models.ForeignKey(Category, verbose_name='分類', on_delete=models.CASCADE)tags = models.ManyToManyField(Tag, verbose_name='標簽', blank=True)author = models.ForeignKey(User, verbose_name='作者', on_delete=models.CASCADE)

效果如下:

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.创作后台开启的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。