这段时间我摆烂躺平过,偶尔想爬起来奋斗当一次资本家的韭菜。岁末将至是那 马猴烧酒 封印了我能力。在圣诞老人来临之前我争取做一回韭黄
![[从零开始Django] Admin使用MD编辑器,突破mdeditor上传图片无法显示](https://cdn.frbkw.com/wp-center/uploads/2022/12/20221221200502120.jpg)
我曾尝试过Flask,FastApi等web框架,喜欢Flask的体积,爱上了FastApi的Json显示和文档。或者是因为的头发的劝说徘徊之后回到了Django
Django他自带梦回10年前的admin后台,对我来说还需要时间打磨。但如果可以REST framework 前后端半分离是我的追求
选择
会选择MD编辑器估计是因为他的风格,简约得让我们不用在特意留意排版,而专注内容输出
步骤
admin后台添加菜单
添加md编辑器
上传图片显示
admin菜单注册
前提是准备好一个Django项目可链接数据库,注册项目
项目下models文件中建立一个数据表
from django.db import models
# Create your models here.
class WeChatSet(models.Model):
""" 基本配置 """
title = models.CharField(verbose_name='标题', max_length=32)
conten = models.CharField(verbose_name='内容', max_length=32)
执行数据库迁移
是Pycharm可以
![[从零开始Django] Admin使用MD编辑器,突破mdeditor上传图片无法显示](https://cdn.frbkw.com/wp-center/uploads/2022/12/20221221200841539.jpg)
makemigrations
migrate
或者默认手撸
python3.11 manage.py makemigrations
python3.11 manage.py migrate
建立超级管理员
python3.11 manage.py createsuperuser
项目下中的amind文件中注册后台菜单
from django.contrib import admin
from .models import *
admin.site.register(WeChatSet)
运行项目访问admin后台
python manage.py runserver
http://127.0.0.1:8000/admin
![[从零开始Django] Admin使用MD编辑器,突破mdeditor上传图片无法显示](https://cdn.frbkw.com/wp-center/uploads/2022/12/20221221201021385.jpg)
添加md编辑器
安装django-mdeditor
pip install django-mdeditor
settings 配置文件 INSTALLED_APPS 中添加 mdeditor
INSTALLED_APPS = [
# md文档
'mdeditor'
]
settings 末尾添加媒体文件的路径配置
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/media/'
X_FRAME_OPTIONS = 'SAMEORIGIN'
项目 urls.py 中添加扩展url和媒体文件url
from django.contrib import admin
from django.urls import path, re_path
from django.conf.urls import include
from django.views.static import serve
from lingmu_admin.settings import MEDIA_ROOT
urlpatterns = [
path('admin/', admin.site.urls),
path('mdeditor/', include(('mdeditor.urls', 'mdeditor'), namespace='mdeditor')), # 配置编辑器路由
re_path(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}), # 添加上传文件路径
]
(注意:导入的包是关键,mdeditor上传图片无法显示或者运行报错基本是该文件引起)
model中应用markdown
from django.db import models
# 引入md
from mdeditor.fields import MDTextField
# Create your models here.
class WeChatSet(models.Model):
""" 基本配置 """
title = models.CharField(verbose_name='标题', max_length=32)
conten = MDTextField()
刷新后台添加内容可看到MD编辑器
![[从零开始Django] Admin使用MD编辑器,突破mdeditor上传图片无法显示](https://cdn.frbkw.com/wp-center/uploads/2022/12/20221221201238255-scaled.jpg)
总结
学习:距离富婆+ 9
头发:-3
经验:还没阳