程序员Django

xadmin建站后续篇

2019-01-18  本文已影响46人  偷了月光的猫

鉴于之前的文章比较麻烦,现在利用快速清晰建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('admin/', admin.site.urls),

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

    path('menu/',menu.views.yqlist)

]

若还没装xadmin,请看之前的一篇文章

https://www.jianshu.com/p/73b6f26274e1

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

# 创建xadmin的最基本管理器配置,并与view绑定

class BaseSetting(object):

# 开启主题功能

    enable_themes =True

    use_bootswatch =True

# 全局修改,固定写法

class GlobalSettings(object):

# 修改title

    site_title ='舆情管理界面'

    # 修改footer

    site_footer ='橘涞公司'

    # 收起菜单

    menu_style ='accordion'

# 将基本配置管理与view绑定

xadmin.site.register(views.BaseAdminView,BaseSetting)

# 将title和footer信息进行注册

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

上一篇下一篇

猜你喜欢

热点阅读