Django上传头像中具体问题的解决方案
2023-09-14 09:13:09 时间
题目
Django如何简单上传头像
前言
在这里我不会写一些基础的html,js等这些网上百度一下就可以实现,我主要是实现一些在实际过程中真正遇到的问题。
如何点击头像就能上传
- 核心代码
- enctype="multipart/form-data"
- type="file"
- type="submit"
<form action="#" method="post" enctype="multipart/form-data">
<img src="#" id="pic" onclick="图片点击()">
<input type="file" style="display: none;" onchange="点击函数()" name="image" id='img' ></div>
<input type="submit" value="图片保存" style="display: none;">
</form>
- 实现过程
第二个input不可见,并且点击图片时,实现图片点击()
函数- 将第三个input的style:disply=block
- 点击的同时实现
点击函数()
如何点击完要选中的图片后就加载到页面上
- 核心代码
function 点击函数(){
var file = $('#img')[0].files[0];
var pic = document.getElementById('pic');
var temp_file = new FileReader();
// 监听变化
temp_file.addEventListener("load", function() {
pic.src = temp_file.result;
}, false);
if (file) {
temp_file.readAsDataURL(file);
}
}
如何将头像保存到Django工程中
views.py
def save(request):
user = findCurrentUser(request)
# 得到的是第二个input里的name值
image = request.FILES.get('image')
# 获取image文件中的图片名称
image_path = image.name
# 写入文件
if image:
# 将image的路径加一些时间用户等信息,避免重名【custom_path】
save_path = custom_path(image_path)
# settings.MEDIA_ROOT 是在settings.py中创建的,不会的直接看下面
save_url = settings.MEDIA_ROOT+"/"+save_path
try:
# imagepath是user里的属性
user.imagepath = save_path
user.save()
# 写入图片文件,
with open(save_url【文件名】,'wb+'【文件操作方式】) as f:
f.write(image.read())【读取image文件】
except Exception as e:
print(e)
return redirect('/page')
settings.py
中创建路径
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/'),
)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
相关文章
- Django(4)操作指令大全[通俗易懂]
- django debug_怎么调试debug
- 基于Appium+django+redis+mysql实现UI自动化测试平台
- django开发从入门到实战pdf_Helloworld是什么意思
- 1. Django 项目创建
- 【web Django学习】概念基础快速入门
- Django框架开发001期 Python+Django开发教程,开启你的第一个django网站应用
- (小说版)【简历优化平台-4】js魔改文件上传,django轻松接收
- 【Django】在大型项目中的django的性能模型字段primary_key
- Django ORM 数据库常用操作
- Django 获取请求参数
- django-haystack 全文检索配置
- windows +apache + django + mod_wsgi 部署 Django 站点
- Add a button/form/link to Django Admin(添加按钮、表单、链接到 django admin)
- Django实现简单的增删改查
- django 撤回(删除) 表更新 操作步骤
- python-Django-表单基础概念
- python-Django-文件上传(一)
- Django REST Framework-类视图(三)
- Django:用户登录实例详解程序员
- Django领导Neo4j:创造出可再利用、可扩展的应用(djangoneo4j)
- DRF (Django REST framework) 中的路由Routers详解编程语言
- 深入浅出Django与MSSQL整合(django-mssql)