鉴于之前的文章比较麻烦,现在利用快速清晰建xadmin后台管理
1:先建一个django项目
不需要建更多设置,More Settings,后期直接python manage设置
2:在settings.py中将xadmin导入
from django.urlsimport path
import xadmin
import menu.views
from xadmin.pluginsimport xversion
xadmin.autodiscover()
xversion.register_models()
urlpatterns = [
path('xadmin/', xadmin.site.urls),
path('menu/',menu.views.yqlist)
]
若还没装xadmin,请看之前的一篇文章
https://cloud.tencent.com/developer/article/1560296
3.建模块;
例如我要建'menu','users',两个模块
通过tools,python manage
startapp users
startapp menu
4:在settings.py改apps配置:
在INSTALLED_APPS中添加:
'menu',
'users', #模块名
'xadmin',
'crispy_forms',
'reversion',
5:在seetings.py中连接数据库
DATABASES = {
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'test',#数据库名字
'USER':'root',#账号
'PASSWORD':'root',#密码,根据自己sql账号填写
'HOST':'127.0.0.1',#IP
'PORT':'3306',#端口
}
}
6。在seetings.py中更改语言,时区等
LANGUAGE_CODE ='zh-hans'
TIME_ZONE ='Asia/Shanghai'
USE_I18N =True
USE_L10N =True
USE_TZ =False
7.建立数据库
from django.dbimport models
from datetimeimport datetime
class Yqlist(models.Model):
name = models.CharField('基金名称', max_length=20)
num = models.CharField('基金编号', max_length=11)
title = models.CharField('标题', max_length=11)
detail = models.CharField('详细信息', max_length=50)
add_time = models.DateTimeField('添加时间', default=datetime.now)
situation = models.CharField('基金状况', max_length=50)
class Meta:
verbose_name ='舆情列表'
verbose\_name\_plural = verbose\_name
注:因users内置数据库,不需要建立
然后python manage.py makemigrations
python manage.py migrate
数据库建立完成
与此同时,建立超级管理员账号:createsuperuser
然后按照指示操作
5.内容页全局配置,添加主题功能
在users里建一个adminx.py文件
import xadmin
from xadminimport views
class BaseSetting(object):
enable\_themes =True
use\_bootswatch =True
class GlobalSettings(object):
site\_title ='舆情管理界面'
# 修改footer
site\_footer ='橘涞公司'
# 收起菜单
menu\_style ='accordion'
xadmin.site.register(views.BaseAdminView,BaseSetting)
xadmin.site.register(views.CommAdminView,GlobalSettings)
6.此时menu模块未显示:
需在menu里新建adminx.py
import xadmin
from .modelsimport Yqlist
class HisinforAdmin(object):
list\_display = ['name', 'num', 'title', 'detail','add\_time','situation']
search\_fields = ['name', 'num', 'title', 'detail','situation']
list\_filter = ['name', 'num', 'title', 'detail','add\_time','situation']
xadmin.site.register(Yqlist, HisinforAdmin)
此时模块名为英文
需在menu/apps.py添加
from django.apps import AppConfig
class MenuConfig(AppConfig):
name ='menu'
verbose\_name ='舆情信息菜单'(更改的中文名称)
之后在menu/__init__.py中添加
default_app_config ='menu.apps.MenuConfig'
解决:ok