位置: 编程技术 - 正文
推荐整理分享Python+django实现简单的文件上传(python django),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python django iis,python3 django教程,django pycharm,python django iis,django pycharm,django pycharm,python django orm,python djang,内容如对您有帮助,希望把文章链接给更多的朋友!
今天分享一下Django实现的简单的文件上传的小例子。
步骤 创建Django项目,创建Django应用 设计模型 处理urls.py 以及views.py 设计模板,设计表单 运行项目,查看数据库
下面我们就一起来分别完成每一个小部分吧。
创建项目和应用
django-admin startproject Django_upload
django-admin startapp app
添加一个名为upload的目录,待会要用哦。
然后记得在settings.py 中的INSTALLED_APPS中加上'app',。注意那个小逗号就行了~~
设计模型
上传文件需要知道是谁上传的,上传了什么。所以我们的 模型很简单,一个用户名,一个文件名即可。如下app.models.py
模型创建完成了,接下来我们就赶紧同步一下数据库吧。命令很简单,由于我的Django版本是1.9.6的, 所以原来的
python manage.py syncdb 不能用了
我们可以使用下面的命令来代替
python manage.py makemigrations
python manage.py migrate
urls.py 以及 views.py
这两个文件就是为了实现MVC模型的V,C而存在的。 views.py 如下:
urls.py
一般来说我们会创建一个超级管理员,命令如下:
python manage.py createsuperuser
然后按照相应的提示进行创建就可以了。
设计模板以及表单
其实刚才就可以在views.py中看到一个为NormalUserForm的类,其存在的意义就是方便从request中取得我们需要的表单数据。而且,恐怕你也注意到了,NormalUserForm的字段和NormalUser模型是一样的呢。各中哲理自己品味吧 :-)
templates/register.html
这里面比较重要的地方有三点: <form method="POST" enctype="multipart/form-data">: 表单特定的格式,注意上传数据的时候把enctype明确就可以
{% csrf_token %}: 跨域请求,我们需要在表单标签的内部加上这个模板标签,而且要在views.py中配合render而不是render_to_response来实现
{{ uf.as_p }}: 使用.as_p 方式的话,django就会按照默认的样式在模板页面输出表单的所有的字段。
调试,开启应用
好了,大部分的任务都做好了,下面就打开我们的开发服务器来验证一下吧。
python manage.py runserver
打开浏览器输入 使用models.FileField()实现文件上传组件
对应模型添加一个表单类,字段相同。这样对于表单数据的获取会更加更加的方便。uf = NormalUserForm(request.POST,request.FILES)。
模板界面表单enctype格式,以及.as_p方式的在html页面上的表单输出
就是这样了!
标签: python django
本文链接地址:https://www.jiuchutong.com/biancheng/386179.html 转载请保留说明!上一篇:Python Django使用forms来实现评论功能(django for)
下一篇:浅析Python中元祖、列表和字典的区别(python中元祖的用法)
友情链接: 武汉网站建设