Django---Django管理后台


  我們都知道無論在測試app還是web頁面的時候,都會有一個管理后台去配置這些應用展示的內容,那么我們的Django當然也不例外,今天來認識下Django管理后台

admin管理后台

Django管理后台不僅僅只可以配置應用前端,也可以對數據進行增刪改查,最主要的是免費的~

默認設置

Django默認是沒有管理后台的,這個需要自己創建,但是我們在創建前,需要在settings.py文件的INSTALLED_APPS中配置admin,當然Django這個也是默認給我們配置好的

# 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的訪問地址

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

創建管理后台

1、通過輸入一下命令來創建admin站點用戶

# 創建admin管理后台
 
python manage.py createsuperuser

首先輸入賬號名:admin,然后郵箱:821006052@qq.com,再輸入密碼qweasdzxc,再次確認密碼qweasdzxc,注意密碼這里是看不到的直接輸入即可(有時候密碼太過於簡單,但是我們也可以強制確認)

創建完成后,我們直接啟動Django服務,打開瀏覽器進入管理員地址:http://127.0.0.1:8000/admin

 

 

輸入我們剛才創建好的賬號密碼。點擊log in 然后就登錄成功了

修改admin密碼

如果管理員的密碼忘記了怎么辦?怎么去修改呢?

方法一:執行以下命令進行操作修改

# 修改管理后台密碼
# 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就會報出以上錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM