1、在settings.py中配置MEDIA_URL和MEDIA_ROOT
[root@localhost blogproject]#
[root@localhost blogproject]# vim blogproject/settings.py
MEDIA_URL = '/uploads/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
2、urls.py中配置路由
django1.9及以下
url(r"^uploads/(?P<path>.*)$", \
"django.views.static.serve", \
{"document_root": settings.MEDIA_ROOT,}),
djaggo1.10及以上
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$',index,name='index'),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
3、在model中设置图片的上传位置和路径
[root@localhost kindeditor-4.1.10]# cd /root/blogenv/blog_env/blogproject/static/js/kindeditor-4.1.10
[root@localhost kindeditor-4.1.10]# vim config.js
KindEditor.ready(function(K) {
window.editor = K.create('#id_content',
{
width : '900px',
height : '300px',
uploadJson: '/admin/upload/kindeditor',
}
);});
urls配置:
from django.conf.urls import url
from django.contrib import admin
from blog.views import *
from django.conf import settings
from blog.upload import upload_image
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$',index,name='index'),
url(r'^admin/upload/(?P<dir_name>[^/]+)$', upload_image, name='upload_image'),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
代码
[root@localhost blogproject]# vim blog/upload.py
# -*- coding: utf-8 -*- from django.http import HttpResponse from django.conf import settings from django.views.decorators.csrf import csrf_exempt import os import uuid import json import datetime as dt @csrf_exempt def upload_image(request, dir_name): ################## # kindeditor图片上传返回数据格式说明: # {"error": 1, "message": "出错信息"} # {"error": 0, "url": "图片地址"} ################## result = {"error": 1, "message": "上传出错"} files = request.FILES.get("imgFile", None) if files: result =image_upload(files, dir_name) return HttpResponse(json.dumps(result), content_type="application/json") #目录创建 def upload_generation_dir(dir_name): today = dt.datetime.today() dir_name = dir_name + '/%d/%d/' %(today.year,today.month) if not os.path.exists(settings.MEDIA_ROOT + dir_name): os.makedirs(settings.MEDIA_ROOT + dir_name) return dir_name # 图片上传 def image_upload(files, dir_name): #允许上传文件类型 allow_suffix =['jpg', 'png', 'jpeg', 'gif', 'bmp'] file_suffix = files.name.split(".")[-1] if file_suffix not in allow_suffix: return {"error": 1, "message": "图片格式不正确"} relative_path_file = upload_generation_dir(dir_name) path=os.path.join(settings.MEDIA_ROOT, relative_path_file) if not os.path.exists(path): #如果目录不存在创建目录 os.makedirs(path) file_name=str(uuid.uuid1())+"."+file_suffix path_file=os.path.join(path, file_name) file_url = settings.MEDIA_URL + relative_path_file + file_name open(path_file, 'wb').write(files.file.read()) # 保存图片 return {"error": 0, "url": file_url}
相关推荐
图片上传采用Python的Image类库,分页采用的是Paginator,其他的我就不一一列举出来了,请看源码! Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 一流的 URL 设计 设计者...
使用的photologue加了自动修改上传的图片名,采用时间和随机码 -------------------------------------------------------------------------------- ddtcms一些说明: 模板的css参考了聚友网...
毕业设计python+django+mysql+redis多主题个人博客系统项目源码。 功能点 ...markdown文章渲染,代码高亮,支持后台markdown编写文章等 ...支持图床,后台上传图片可直链访问及调用 simpleui后台管理
基于python3.8 + django3.2.4 + mysql8 + redis + uwsgi + nginx 的一个多主题个人博客系统 功能点 ...markdown文章渲染,代码高亮,支持后台markdown编写文章...支持图床,后台上传图片可直链访问及调用 simpleui后台管理
Django博客系统(Python)的数据库与模型非Django自动生成,采用Python的web开发框架(Django)和Mysql数据库,数据库的设计很不规范,由于时间方面的问题(基于才“出道”时的原有博客数据库结构),图片上传采用Python的...
基于Django框架搭建的美食博客,有登录,发帖,评论,点赞,上传图片,个人主页等功能,数据库配置,前端代码都有
## Django博客系统 ...时的原有博客数据库结构)图片上传采用Python的Image类库,分页采用的是Paginator,其他的我就不一一列举出来了,请看源码! Django 框架的核心组件有:用于创建模型的对象关系映射为最终用户设
学生自己写的代码,非常杂乱,但有一定借鉴意义。 具体可以可以结合我的博客来看,有需要的话可以下载,非常不建议单独下载。
本模块帮助在Django应用中集成百度Ueditor HTML编辑器。 安装包中已经集成Ueditor v1.2.2 ... **Django默认开启了CSRF中间件,因此如果你的表单没有加入{% csrf_token %},那么当您上传文件和图片时会失败
该博客网站基于bootstrap+django+mysql搭建,集成了后台管理、数据可视化图表、基于markdown语法的博客、视频上传和个人项目展示与介绍等功能。网站设计简洁、快速、响应式,具有良好的可扩展性,适合新手入门和进阶...
博客网上地址: : 一个django开发的博客。网址 。 || 所有需要的第三方库都在site-packages文件夹中,可以...相册功能(图片上传uploadfy,上传至七牛云存储(七牛SDK),lazyload加载) 5.关于/简历单页。 6.命令行发
ckeditor编辑器,图片上传 Bootstrap前端模板 RSS订阅 标签分类与日期压缩 文章评论 干草堆文章内容搜索 用法: 新建虚拟环境 git clone git@github.com:wzyonggege/clean_blog.git virtualenv --python= venv . ...
本博客的数据库与模型非Django自动生成,采用Python的web开发框架(Django)和Mysql数据库, 数据库的设计很不规范,由于时间方面的问题(基于才出道时的原有博客数据库结构) 图片上传采用Python的Image类库,分页采用的...
{MUB:多用户博客} MUB是使用Python-Django基础结构的多用户博客网络应用。 它现在可以使用,但是,我计划在将来添加更多功能。 因此,如果您想被告知,则可以关注和/或为项目提供帮助。 你不喜欢读密码吗? 您也...
基于Python3.6和Django2.2的多人博客源码 项目介绍 多人博客(多用户,每个用户可以有自己的个人站点,编写自己的博客) 登录注册(登录有图片验证码,注册可以上传用户自定义头像) 登录注册用form组件进行校验和...
DjangoBlog Django 做的博客系统 实现的功能: 1.文章分类,归档,标签云 2.评论排行,点击率排行,最新文章,分页 3.用户注册,登陆 4.用户评论,需要用户在登陆状态,留言板,引用第三方评论多说 5.使用kingeditor...
当前项目所使用环境:Python3.6.8,Django3.1项目介绍1. 后端语言:Python + Django2.... 未使用Django-admin,自己手写的管理后台, 用于文章、友链和... 接入,文章中的图片通过接口上传到七牛云9. 添加过期提醒,文章
【博客个人资源】 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、...
接着上一篇Django实战(7)——在线人脸识别系统(第一步、实现图片上传和MySQL数据库的对接,ORM操作数据库)https://blog.csdn.net/qq_41938259/article/details/104562046写: 这是Github地址:...