Django+SimpleUI


 

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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM