view参数

@csrf_exempt
def before_upload_avatar(request):
    before = True
    return render_to_response('accounts/before_upload_avatar.html',
                              {'before': before},
                              context_instance=RequestContext(request))

配置的url(r'^upload_avatar/$', views.before_upload_avatar, name='prepare_upload'),

在html中写

{% extends "base2.html" %}

{% block head_css %}

<link href="/static/media/css/register.css?v=0.9" rel="stylesheet" type="text/css" />

{% endblock %}

{% block content %}

<div class="change_avatar">

<h4>请选择头像上传</h4>

<form enctype="multipart/form-data" method="POST" action="{% url 'accounts:uploaded' %}">

<input type="file" name="select"/>

<button>Submit</button>

</form>

{% if not before %}

{% if error %}

error info:

{% for info in error %}

<h3>{{ info }}</h3>

{% endfor %}

{% endif %}

{% if not error %}

<img src="{{ path }}" width="128" height="128">

{% endif %}

{% endif %}

</div>

{% endblock %}

选择好文件点击submit后提交到accounts中的uploaded处理

关键注释:

491、492:装饰器:需要登录,免去post的csrf验证

497:判断是否选定文件

498:获得上传文件

500:设定图片路径

501:获得ret,用handle_upload_avatar处理

513:设定文件不能大于5M以及文件不能是exe格式文件。

515:对头像进行处理,返回一个List

519,520:假设路径不存在,创建目录

521-523:对文件重命名

524-526:移除原先头像

527:将新文件拷贝过去

530:返回页面

545:设置temp_nane,用时间和随机数来命名

546:设置temp_path

547:打开temp_path并对其进行读写

548,549:将头像上传到这个路径

551:获取上传图片类型例如jpg,png等

552-554:假如不是图片类型文件,移除文件并报错

555:返回1,文件类型,2,temp_name,3,temp_path

最新文章

  1. 装饰者模式 Decoration
  2. spring aop 环绕通知around和其他通知的区别
  3. haproxy 实现多域名证书https
  4. centos安装gitlab
  5. linux 编译C应用程序的Makefile
  6. Weex详解:灵活的移动端高性能动态化方案
  7. UItableViewCell上的button点击无响应的办法
  8. CodeForces 712D Memory and Scores
  9. tyvj4877 组合数
  10. 搭建PHP本地服务器(XAMPP)
  11. iOS开发基础-九宫格坐标(1)
  12. 用python代码模拟登录网站
  13. 性能测试---CPU内存部分
  14. Android-Nexus5-命令刷机
  15. Elasticsearch 关键字与SQL关键字对比总结
  16. oracle中游标详细用法
  17. BigDecimal四舍五入保留两位小数
  18. FZU软工第三次作业-原型设计
  19. python做数据分析pandas库介绍之DataFrame基本操作
  20. Oracle中转义下划线

热门文章

  1. 字符流和字节流(FileReader类和FileWriter类)
  2. 简单Hosts使用说明
  3. 前端里神奇的BFC 原理剖析
  4. iOS开发中NSLog输出格式大全
  5. oracle表的操作简述
  6. textarea 多行文本保存数据到DB,取出后恢复换行
  7. mongodb 安装、开启服务 和 php添加mongodb扩展
  8. WebForm水印照片
  9. 红字差评系列2.dwarf
  10. zabbix通过API创建交换机模板,ifAdminStatus;ifOperStatus;ifInUcastPkts;ifAlias