100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Django 管理后台 使用 simple ui 美化

Django 管理后台 使用 simple ui 美化

时间:2024-05-15 05:23:18

相关推荐

Django 管理后台 使用 simple ui 美化

首先安装 simpleui

pip install django-simpleui

修改默认后台模板为simpleui

INSTALLED_APPS = ['simpleui','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',...]

新建app

python manage.py startapp testapp

编写模型

# Create your models here.from django.db import modelsfrom stdimage import StdImageFieldfrom django.utils.safestring import mark_safe#用户表class User(models.Model):username = models.CharField(verbose_name='用户名',unique=True, max_length=64)head_img = StdImageField(upload_to='path/to/', blank=True,delete_orphans=True,verbose_name=u'url')class Meta:db_table = 'user_info'verbose_name = '用户信息'verbose_name_plural = '用户信息'# 在后台列表显示图片def get_image_tag(self):if self.head_img:return mark_safe('<img src="%s" width="60" height="75" />' % self.head_img.url)else:return ' 'get_image_tag.short_description = 'Photo'get_image_tag.admin_order_field = 'name'def __str__(self):return self.username

这里为了在后台列表能显示图片用到了stdimage 首次使用需要安装stdimage

pip install django-simpleui

并注册到INSTALL_APPS

INSTALLED_APPS = ['simpleui','stdimage', #上传图片'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',]

在项目的url.py中添加图片路径

from django.contrib import adminfrom django.urls import path, include,re_pathfrom django.views.static import servefrom 项目名.settings import MEDIA_ROOTurlpatterns = [path('admin/', admin.site.urls),re_path(r'^upload/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),]

其中的upload是在setting.py设置的MEDIA_ROOT

# 配置 MEDIA_ROOT 作为你上传文件在服务器中的基本路径MEDIA_ROOT = os.path.join(BASE_DIR, 'upload') # 注意此处不要写成列表或元组的形式# 配置 MEDIA_URL 作为公用 URL,指向上传文件的基本路径MEDIA_URL = '/upload/'

上传的文件会保存在 项目根目录/upload/path/to/

根据模板生成迁移文件,并迁移到数据库

python manage.py makemigrations testapp

python manage.py migrate testapp

将模型注册到admin.py中才能在管理后台中显示

from django.contrib import adminfrom .models import User# Register your models here.@admin.register(User)class User(admin.ModelAdmin):# 设置页面可以展示的字段# get_image_tag 是在模型中设置的显示图片函数,一定要添加上 不然后台不会显示list_display = ('username', 'head_img','get_image_tag')# 默认不配置的话,第一个字段会存在链接到记录编辑页面# list_display_links = Nonelist_display_links = ('username',)

不要忘了将app注册到INSTALL_APPS

INSTALLED_APPS = ['simpleui','stdimage', # 上传图片'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','testapp.apps.TestappConfig', # 注册app]

创建超级用户

python manage.py createsuperuser

配置数据库,这里用的是mysql数据库

pip install pymysql

在settings.py中配置

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': '数据库名','USER': 'root','PASSWORD': 'root','HOST': '127.0.0.1','PORT': '3306',}}

在项目init.py中设置数据库为mysql

import pymysqlpymysql.install_as_MySQLdb()

然后就可以启动项目了

python manage.py runserver

参考链接

快速上手指南 | Simple UI ()

Django+SimpleUI快速开发指南 - 知乎 ()

使用django-simpleui后台主题(包含图片显示) - 简书 ()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。