不知道不觉写博客已经半个月了,涨了164个粉丝,在一边分享笔记的过程,一边收获粉丝,感觉很开心也很幸福,希望看我博客的小伙伴都能有所收获,大家共同成长进步,好拉,话不多说,进入今天的主题:
在Djangdo中有两个非常重要的内容
- ORM
- Admin
1、项目设置
1、将这个项目的语言设置成简体中文,文件:
D:\cekai\xuexi\Tesla\Tesla\settings.py
LANGUAGE_CODE = "zh-hans"
重新启动项目,可以看到下面的效果
2、修改项目里面的时间
因为我们的时间采用的是北京时间,后台的这个时间比我们差了8个小时,需要修改
怎么修改项目里面的时间呢,只需要改上面这个文件里面的时区,改成下面这样
TIME_ZONE = "Asia/Shanghai"
3、数据库时区
这里不是改数据库的时间,而是将这个时间干掉,这样项目就会以Django里面的时间为准,只会有这个唯一的时间,那么怎么改呢?
和前面两个方式一样,改同一个文件,改成下面这样
USE_TZ = False
2、App设置
项目是设置是全局的,所以改的是项目路径下的设置文件,但是app是应用级别的
所以改的文件是app路径下面的,加了这句: verbose_name = “lili的第一个App”
D:\cekai\xuexi\Tesla\lili\apps.py
from django.apps import AppConfig
class LiliConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "lili"
verbose_name = "lili的第一个App"
刷新下页面
3、Model设置
将verbose_name = “lili的第一个App” 这句复制到models中
这里还没完,需要让django知道verbose_name 不是一个字段,而是一个设置项,所以接下来需要这样操作,创建一个类中类
from django.contrib.auth.models import User
from django.db import models
class Feedback(models.Model):
quality = models.IntegerField("商品质量", default=1)
attitude = models.IntegerField("客服态度", default=1)
speed = models.IntegerField("物流速度", default=1)
text = models.TextField("评论内容", max_length=150, default="")
anonymous = models.BooleanField("是否匿名", default=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
user = models.ForeignKey(User, default=1, on_delete=models.CASCADE)
name: str = "lili"
objects: models.QuerySet # 普通的属性
class Meta:
verbose_name = "用户评价"
如果不想要s,要怎么去掉呢?只需要在代码中加一行
verbose_name_plural = "用户评价"
表示复数时候也显示用户评价,s在这里表示复数
为了让代码更优雅一点,可以这样写:
verbose_name_plural = verbose_name = "用户评价"
可是在页面的右侧,还是有英文
那么怎么改成中文呢?重写str方法
def __str__(self):
return f"({self.user})用户反馈:{self.text}"
刷新之后可以看到:
可是这里内容太少,我希望能多显示一些,可以这样做,通过Admin
D:\cekai\xuexi\Tesla\lili\admin.py
from django.contrib import admin
from lili.models import Feedback
# Register your models here.
@admin.register(Feedback)
class FeedBackAdmin(admin.ModelAdmin):
list_display = ('quality',
'user',
'attitude',
'speed',
'text',
'anonymous',
'created_at',
'updated_at')
这样再来看的时候就好看了