当前位置 : 主页 > 编程语言 > python >

Django+SimpleUI

来源:互联网 收集:自由互联 发布时间:2022-06-15
1.安装 pip install django-simpleui -i https://pypi.tuna.tsinghua.edu.cn/simple 2.修改配置文件 # 修改project的setting文件,在INSTALLED_APPS 首行引入simple应用 INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', 'djang

 

1.安装

pip install django-simpleui -i https://pypi.tuna.tsinghua.edu.cn/simple

 

2.修改配置文件

 

# 修改project的setting文件,在INSTALLED_APPS 首行引入simple应用
INSTALLED_APPS = [
'simpleui',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
...
]

 

3.字符集及时区设置

# 修改project的setting文件
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False # 这里务必调整为False,否则时区设置无效

 

4.设置静态资源及debug

DEBUG=True


STATIC_URL = '/astatic/' # 浏览器直接访问静态文件
STATIC_ROOT = os.path.join(BASE_DIR, 'astatic') # 开发环境不需要(线上:python manage.py collectstatic 复制到该路径下)


python3 manage.py collectstatic 将静态资源克隆到项目的静态资源目录下

 

5.数据库连接配置

# 这里以postgresql数据库为例,通常建议使用mysql数据库,多数据库连接不在此处讨论
# postgresql
## 安装postgresql驱动
pip install psycopg2-binary
#pip install psycopg2
## 这里需要设置postgresql的schema信息,通过options字典指定配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME' : 'moon',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST':'127.0.0.1',
'PORT': '5432',
'OPTIONS': {
'options': '-c search_path=myapp'
},
}
}

# mysql
## 安装mysql驱动
pip install pymysql
## init文件引入pymysql 用于代理django认可的mysql驱动,同时由于django的版本问题对pymysql的版本存在要求需要增加一个版本欺骗动作
import pymysql
pymysql.version_info = (1, 3, 13, "final", 0)
pymysql.install_as_MySQLdb()
## setting增加mysql连接串配置信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'jay_django_test',
'HOST':'127.0.0.1',
'USER':'root',
'PASSWORD':'qweasd',
'PORT':'3306',
}
}

 

6.执行admin迁移

python manage.py migrate

 

7.创建admin超级管理员

python manage.py createsuperuser

 

8.执行迁移

python manage.py makemigrations

python manage.py migrate

 

 

admin首页布局设置

# 如上图所示,首页基础展示项目由三个部分组成,往往我们需要对首页进行定制重写,这里我们先把这几个展示模块先关闭
# project的setting文件最后追加如下设置,即可关闭以上几个模块以及信息采集模块
SIMPLEUI_HOME_INFO = False
SIMPLEUI_HOME_QUICK = False
SIMPLEUI_HOME_ACTION = False
SIMPLEUI_ANALYSIS = False
# SIMPLEUI_HOME_TITLE = '百度一下你就知道' # 【首页】按钮文案配置
SIMPLEUI_HOME_PAGE = 'https://www.baidu.com' # 可用于嵌入其他链接,这里可以直接方便的嵌入报表链接
SIMPLEUI_HOME_ICON = 'el el-icon-platform-eleme'

 

列表页查询定制:

# admin文件中定义展示页面,后续方便页面管理,可以独立文件,通过import方式引入进行注册
from myapp.models import job_detail

@admin.register(job_detail)
class job_detail(admin.ModelAdmin):
# 设置页面可以展示的字段
list_display = ('JOB_TYPE', 'JOB_NAME','JOB_COMMENT',
'IN_PARA','IN_PARA_COMMENT',
'OUT_PARA','OUT_PARA_COMMENT')
# 默认不配置的话,第一个字段会存在链接到记录编辑页面
# list_display_links = None
list_display_links = ('JOB_NAME',)
# 设置过滤选项
list_filter = ('JOB_TYPE', 'CREATED_TIME',)
# 每页显示条目数 缺省值100
list_per_page = 1
# show all页面上的model数目,缺省200
# list_max_show_all = 200
# 设置可编辑字段 如果设置了可以编辑字段,页面会自动增加保存按钮
list_editable = ('IN_PARA_COMMENT',)
# 按日期月份筛选 该属性一般不用
# date_hierarchy = 'CREATED_TIME'
# 按发布日期降序排序
ordering = ('-CREATED_TIME',)
# 搜索条件设置
search_fields = ('JOB_NAME',)

# 表头字段显示中文名称,这里需要修改models文件,在定义字段的时候增加别名
# eg1:JOB_NAME = models.CharField('任务名称',max_length=128)
# eg2: name = models.CharField(max_length=30,verbose_name=u"姓名")

# 字段关联展示
## 场景1、关联其他表的数据展示,此处外键展示不做演示,生产环境尽量减少外键使用

## 场景2、枚举信息转义展示
### 此处需要在model定义页面通过枚举值转义配置对应展示中文信息,参考model模块代码设置

"""
这种禁用编辑链接的放法只是不让它在页面中显示,即把超链接去掉了,
但是还是可以通过手动输入url的方式来进入编辑页面。
不过可以配合设置fieldsets或者readonly_fieldss来达到目的
注意:这里建议删除按钮要禁用掉,否则只有拥有view权限的人员依然可以进行删除动作,或者需要进行人员角色判断
"""
def has_add_permission(self, request):
# 禁用添加按钮
return True

def has_delete_permission(self, request, obj=None):
# 禁用删除按钮
return False

 

更多可参考:​​Django+SimpleUI快速开发指南 - 知乎 (zhihu.com)​​

 


上一篇:Django之跨域
下一篇:没有了
网友评论