目录
1,下载解压ueditor文件包,放置在项目中.,作为一个应用目录
2,打开settings.py,给INSTALLED_APPS加入应用ueditor
3,检查一下settings.py是否设置好static静态目录,可参考如下设置
4,打开django项目的urls.py文件,添加ueditor的url路由配置
request.FILES- <html>
- <head>
- <title>文件上传title>
- head>
- <body>
- <form method="post" action="upload/" enctype="multipart/form-data">
- <input type="text" name="title"><br>
- <input type="file" name="pic"/><br>
- <input type="submit" value="上传">
- form>
- body>
- html>
- from django.shortcuts import render
- from django.http import HttpResponse
- from PIL import Image
- import time,os
-
- def upload(request):
- '''执行图片的上传'''
- myfile = request.FILES.get("mypic",None)
- if not myfile:
- return HttpResponse("没有上传文件信息")
- filename = str(time.time())+"."+myfile.name.split('.').pop()
- destination = open("./static/pics/"+filename,"wb+")
- for chunk in myfile.chunks(): # 分块写入文件
- destination.write(chunk)
- destination.close()
-
- # 执行图片缩放
- im = Image.open("./static/pics/"+filename)
- # 缩放到75*75(缩放后的宽高比例不变):
- im.thumbnail((75, 75))
- # 把缩放后的图像用jpeg格式保存:
- im.save("./static/pics/s_"+filename,None)
-
- #执行图片删除
- #os.remove("./static/pics/"+filename)
-
- return HttpResponse("上传成功!图片:"+filename)
将属性定义成models.ImageField类型
pic=models.ImageField(upload_to='cars/')
pip install Pillow
MEDIA_ROOT=os.path.join(BASE_DIR,"static/media")
属性
方法
异常exception
创建对象
属性
方法
1. 创建项目mydemo
创建视图pagTest
- from django.core.paginator import Paginator
-
- def pagTest(request, pIndex):
- list1 = AreaInfo.objects.filter(aParent__isnull=True)
- p = Paginator(list1, 10)
- if pIndex == '':
- pIndex = '1'
- pIndex = int(pIndex)
- list2 = p.page(pIndex)
- plist = p.page_range
- return render(request, 'booktest/pagTest.html', {'list': list2, 'plist': plist, 'pIndex': pIndex})
配置url
path('pag/' , views.pagTest, name='pagTest'),
定义模板pagTest.html
- html>
- <html>
- <head>
- <title>title>
- head>
- <body>
- <ul>
- {%for area in list%}
- <li>{{area.id}}--{{area.atitle}}li>
- {%endfor%}
- ul>
-
- {%for pindex in plist%}
- {%if pIndex == pindex%}
- {{pindex}}
- {%else%}
- <a href="/pag{{pindex}}/">{{pindex}}a>
- {%endif%}
- {%endfor%}
- body>
- html>
Django集成UEditor (封装成应用) 百度富文本编辑器
测试环境
- # name 'file' is not defined
- controller.py 68行
-
- # jsonfile = file(config_path)
- jsonfile = open(config_path)
- File "/home/yc/py6/myproject-test/ueditor/controller.py", line 45,
- in buildFileName
- for key, value in texts.iteritems():
- AttributeError: 'dict' object has no attribute 'iteritems'
-
- controller.py 45行
-
- # for key, value in texts.iteritems():
- for key, value in texts.items():
- myproject:
- manage.py myproject static ueditor
- myadmin myweb templates
-
- uediter文件夹包括以下:
- controller.py __init__.py msyhbd.ttf UE/ urls.py
- controller.pyc __init__.pyc __pycache__ ueconfig.json urls.pyc
- INSTALLED_APPS = [
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'myadmin',
- 'myweb',
- 'ueditor',
- ]
- STATIC_URL = '/static/'
- #静态目录
- STATICFILES_DIRS = (
- os.path.join(BASE_DIR, "static"),
- )
- myproject/myproject/urls.py:
-
- from django.urls import include,path
- from django.contrib import admin
-
- urlpatterns = [
- path('ueditor/', include('ueditor.urls')),
- path('admin/',include('myadmin.urls')),
- path('',include('myweb.urls')),
- ]
- ueditor配置可能需要根据你的项目具体情况修改。
- ueditor前端配置文件,在ueditor/UE/ueditor.config.js
- ueditor后端配置文件,在ueditor/ueconfig.json 具体配置可参考ueditor官网
-
- 此时可以在需要使用富文本编辑器的位置设置一下代码:
- html:
- <link rel="stylesheet" type="text/css" href="/ueditor/UE/third-party/SyntaxHighlighter/shCoreDefault.css">
- <script type="text/javascript" src="/ueditor/UE/third-party/SyntaxHighlighter/shCore.js">script>
- <script type="text/javascript" src="/ueditor/UE/ueditor.config.js">script>
- <script type="text/javascript" src="/ueditor/UE/ueditor.all.min.js">script>
- <script type="text/javascript" src="/ueditor/UE/lang/zh-cn/zh-cn.js">script>
-
-
- <div class="am-form-group">
- <label for="user-intro" class="am-u-sm-3 am-form-label">商品简介label>
- <div class="am-u-sm-9">
-
-
- <script id="editor" name="content" type="text/plain" style="height:500px;">script>
- div>
- div>
-
-
- <script type="text/javascript">
- var ue = UE.getEditor('editor');
- SyntaxHighlighter.all();
- script>
当前使用 妹子UI 模板 css影响了当前的编辑器的样式
- 修改,/static/myadmin/assets/css/app.css 379行
- .tpl-content-wrapper {
- transition: all 0.4s ease-in-out;
- /*position: relative;*/
- margin-left: 240px;
- z-index: 1101;
- min-height: 922px;
- border-bottom-left-radius: 3px;
- }
pip install pillow
- "openWaterMark": false, //是否开启
- "waterMarkText": "我的水印\nhttp://xxxxx.com", //水印内容,建议一行文本
- "waterMarkFont": "msyhbd.ttf", //字体,中文需要字体支持才不会出错
- "waterMarkSize": 15, //字体大小
- "waterMarkBottom": 45, //下边距
- "waterMarkRight": 155 //右边距