Django後台設定 遇到的問題與解決方案

2022-03-23 08:38:37 字數 3163 閱讀 5200

1. 後台如何管理專案中的models

新建的django工程會自動引用admin 應用,新建後台可以通過 createsuperuser 命令建立後台admin超級管理員,我遇到的第乙個問題,就是如何像後台中管理使用者和角色一樣,增刪查改我自己的model,這個網上極為常見,就是在admin.py檔案中註冊自己的models就可以

1

from django.contrib import

admin

2from util.models import

usermodel

34 admin.site.register(usermodel)

1

#我們建立的model,使用者相關的id,最好不要使用簡單數字

2class

usermodel(models.model):

3 uid = models.uuidfield(primary_key=true, default=uuid.uuid4)

4 email = models.emailfield(unique=true)

5 username = models.charfield(max_length=20)

6 salt = models.charfield(max_length=128)

7 password = models.charfield(max_length=128)

8 date_joined = models.datetimefield(auto_now_add=true)

2. models在後台顯示我們想要的名字

註冊models之後我們會發現登入後台後,管理我們model的那一項顯示的是model名稱。但是吧usermodel我自己知道是啥,別人不知道怎麼辦,我需要給他中文名稱,這個時候需要在models.py檔案下修改model對應的類,新增class meta

class

usermodel(models.model):

uid = models.uuidfield(primary_key=true, default=uuid.uuid4)

email = models.emailfield(unique=true)

username = models.charfield(max_length=20)

salt = models.charfield(max_length=128)

password = models.charfield(max_length=128)

date_joined = models.datetimefield(auto_now_add=true)

class

meta:

verbose_name = "

使用者管理

"verbose_name_plural = "

使用者管理

"

這時候再去看,是不是變化了

3. models裡面的物件,名字顯示的不太好,我不想讓他顯示id

這個時候新增__unicode__方法

1

class

usermodel(models.model):

2 uid = models.uuidfield(primary_key=true, default=uuid.uuid4)

3 email = models.emailfield(unique=true)

4 username = models.charfield(max_length=20)

5 salt = models.charfield(max_length=128)

6 password = models.charfield(max_length=128)

7 date_joined = models.datetimefield(auto_now_add=true)89

def__unicode__

(self):

10return

self.username

1112

class

meta:

13 verbose_name = "

使用者管理

"14 verbose_name_plural = "

使用者管理

"

4. 後台顯示英文,我想要中文

需要在settings裡面設定language_code為zh-cn

1 language_code = '

zh_cn

'2 use_i18n =true

3 use_l10n = true

而且,要在中介軟體設定中,使local高於common

5. 後台新增的model物件,涉及到時間的字段,為啥我設定了auto_now=true

,但是看起來不是很對呢

需要設定時區,在settings檔案中修改

time_zone = '

asia/shanghai'#

time_zone = 'utc'

這回和北京時間沒差了

6. 後台顯示的標題叫django後台管理,我需要改成自己的怎麼辦?

先說明,這個方法不好,因為除非你將admin整個整合到專案裡,要不然換個環境就得改一次,但是我沒找到好方法。。。

python27.11\lib\site-packages\django\contrib\admin\templates\admin目錄下檢視admin應用的模板,發現有django後台管理字樣的,並且被多次繼承的模板就是

base_site.html,就改他

123

} | 名字45

6<

h1 id

="site-name"

><

a href

="">名字

a>

h1>78

9

7. 最後

django管理員最好建立安全的新角色,比如有外來鍵關聯,為了保險起見,新建管理員賬戶,分配安全的角色,沒有過分的刪除許可權

這些算是我自己遇到的坑,歡迎交流指導

django後台設定

linux python3.5 django mysql 終端輸入 python manage.py createsuper 輸入使用者 wk 輸入密碼 郵箱 163.com 設定為中文 settings中language code zh hans 設定時間,時區 time zone asia sh...

Django 後台管理設定

1 本地化 修改setting.py 檔案 language code zh hans time zone asia shanghai 2 建立管理員 命令 python manage.py createsuperuser 3 註冊模型類 在應用下的admin.py 中註冊模型類,並在相應的mode...

Django初學遇到的問題

1.django.utils.internalerror 1049,unknown database community 在使用mysql資料庫前得先建立資料庫 2.django.core.exceptions.improperlyconfigured error loading mysqldb m...