xadmin後台管理

2022-07-11 17:30:19 字數 2117 閱讀 4466

django2.0的安裝(原始碼安裝方式):

(3)因為我們用原始碼的xadmin,所以要解除安裝之前安裝的

pip uninstall xadmin
(4)配置路由

把admin改成xadmin

# urls.py

from django.urls import path

import xadmin

urlpatterns = [

path('xadmin/', xadmin.site.urls),

]

'xadmin',

'crispy_forms'

(6)重新生成資料庫

python manage.py makemigrations

python manage.py migrate

(7)設定成中文

language_code = 'zh-hans'

time_zone = 'asia/shanghai'

use_i18n = true

use_l10n = true

use_tz = false

(8)建立乙個管理員使用者

python manage.py createsuperuser
現在就可以執行了 

python manage.py runserver
訪問後台:

可以看到成功進入

datetimefield報錯問題解決:

當我們點增加使用者資訊,會報錯

可以看到報的是xadmin/widgets中第80行

def render(self, name, value, attrs=none):

input_html = [ht for ht in super(adminsplitdatetime, self).render(name, value, attrs).split('\n') if ht != '']

# return input_html

return mark_safe('

%s' '%s

' ''

'%s%s

' % (input_html[0], _(u'today'), input_html[1], _(u'now')))

上面貼出來的最後一行**就是widgets.py的第80行**。

可以看出這句**是希望用「\n」把input_html裡的兩個標籤拆開,但兩個標籤之間沒有換行,所以沒能拆分,導致報錯。

input_html[1]就是報錯的**,因為input_html裡只有乙個元素。

解決辦法:

既然「\n」不能拆分標籤,那麼就換一種拆分方式,使用「/>

原**:

input_html = [ht for ht in super(adminsplitdatetime, self).render(name, value, attrs).split('\n') if ht != '']
修改後**:

input_html = [ht for ht in super(adminsplitdatetime, self).render(name, value, attrs).split('/>

input_html[0] = input_html[0] + "/>"

input_html[1] = "

再執行就正常了

xadmin後台管理

pip install xamin主體模組 xadmin 渲染 模組 crispy forms 為模型通過版本控制,可以回滾資料 reversion python manage.py migrate xadmin的依賴 import xadmin xadmin.autodiscover xversi...

Django配置xadmin後台管理

xadmin是基於django的admin開發的更完善的後台管理系統,基於bootstrap開發,擁有更自由化的頁面管理。在專案的urls.py中配置xadmin的路由 然後依次執行makemigrations,migrate建立資料庫 啟動專案,訪問 更改settings配置,可顯示中文 lang...

Django後台xadmin配置

pip install git git import xadmin from django.urls import path xadmin.autodiscover model自動註冊 from xadmin.plugins import xversion xversion.register mod...