咱们都知道不管在测试app仍是web页面的时候,都会有一个管理后台去配置这些应用展现的内容,那么咱们的Django固然也不例外,今天来认识下Django管理后台前端
admin管理后台
Django管理后台不单单只能够配置应用前端,也能够对数据进行增删改查,最主要的是免费的~python
默认设置
Django默认是没有管理后台的,这个须要本身建立,可是咱们在建立前,须要在settings.py文件的INSTALLED_APPS中配置admin,固然Django这个也是默认给咱们配置好的web
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', # 管理站点 'django.contrib.auth', # 认证系统 'django.contrib.contenttypes', # 用于内容类型的框架 'django.contrib.sessions', # 会话框架 'django.contrib.messages', # 消息框架 'django.contrib.staticfiles', # 管理静态文件框架 'Anjing', # Anjing应用
]
而且url.py文件中也会默认建立admin的访问地址shell
from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ]
建立管理后台
一、经过输入一下命令来建立admin站点用户数据库
# 建立admin管理后台 python manage.py createsuperuser
首先输入帐号名:admin,而后邮箱:821006052@qq.com,再输入密码qweasdzxc,再次确认密码qweasdzxc,注意密码这里是看不到的直接输入便可(有时候密码太过于简单,可是咱们也能够强制确认)django
建立完成后,咱们直接启动Django服务,打开浏览器进入管理员地址:http://127.0.0.1:8000/admin浏览器
输入咱们刚才建立好的帐号密码。点击log in 而后就登陆成功了session
修改admin密码
若是管理员的密码忘记了怎么办?怎么去修改呢?app
方法一:执行如下命令进行操做修改框架
# 修改管理后台密码 # admin 表示用户名 python manage.py changepassword admin
按照指示完成修改密码(这里修改太简单的好像没办法经过~~)
方法二:
经过终端进入到shell命令中,输入如下命令
python manage.py shell
from django.contrib.auth.models import User u = User.objects.get(username='admin') # 帐号名 u.set_password('test1234') # 新密码 u.save()
管理后台显示中文
这里咱们会发现管理后台都是英文,我想大多数都会感受看着不舒服,既然是咱们本身的后台,有没有办法设置成中文呢?Django这么强大,确定有了,咱们只须要修改sttings.py配置文件中找到如下代码
其中LANGUAGE_CODE 表示是语言,TIME_ZONE 表示的是时区
# Internationalization # https://docs.djangoproject.com/en/2.2/topics/i18n/ LANGUAGE_CODE = 'en-us' # 语言 TIME_ZONE = 'UTC' # 时区 USE_I18N = True USE_L10N = True USE_TZ = True
咱们只须要更改上面两条数据,就能够了
# Internationalization # https://docs.djangoproject.com/en/2.2/topics/i18n/ # LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-Hans' # 语言 # TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Shanghai' # 时区
更改完成后,咱们从新进入到管理后台中查看,发现已经更改为功了
若是在设置过程当中出现报错: You have provided a value for the LANGUAGE_CODE setting that is not in the LANGUAGES setting
若是没有遇到的请跳过继续看
这个报错时在Django3的版本后,若是设置完sttings.py中的LANGUAGE_CODE 和 TIME_ZONE后,启动Django就会报出以上错误
解决方法:
# 须要在sttings.py中增长LANGUAGES配置 from django.utils.translation import gettext_lazy as _ LANGUAGES = [ ('zh-Hans', _('Chinese')), ] LANGUAGE_CODE = 'zh-Hans'
修改完成后,再次启动Django就会发现问题已经解决了
后台显示登陆数据
前面安静写了一个登陆页面,只要登陆后数据信息都会保存在数据库中,这里我想把登陆的数据展示到后台管理中。须要在admin.py文件中进行把表名导入便可
文件:admin.py
from django.contrib import admin from Anjing import models # Register your models here. # 导入数据库 admin.site.register(models.User)
文件:model.py from django.db import models # Create your models here. from django.db import models class User(models.Model): username = models.CharField(max_length=32) password = models.CharField(max_length=32)
添加完成后,从新刷新下页面,就能够了(来个动图体会下~~)
若是不肯定数据是否添加过来,能够直接打开数据库查看是否显示完成,这里咱们能够看到数据是一致的
安静很久没用学习了。最近在家办公事情比较多,后面会继续天天学习2小时。
若是感受安静写的对您有所帮助,点个关注,持续更新~~哪里有写错的地方,或者不懂的地方,能够下方留言,看到后第一时间回复~~
这个报错时在Django3的版本后,若是设置完sttings.py中的 LANGUAGE_CODE 和 TIME_ZONE 后,启动Django就会报出以上错误