咱們都知道不管在測試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就會報出以上錯誤