【Python】python-django上傳下載功能
1.models設計
-
from django.db import models
-
-
# Create your models here.
-
class User(models.Model):
-
username = models.CharField(max_length = 30)
-
headImg = models.FileField(upload_to = './static/upload/') ##重點,上傳路徑,專案/static/upload下
-
-
def __unicode__(self):
- return self.username
2.view檢視設計
-
#coding=utf-8
-
from django.shortcuts import render,render_to_response
-
from django import forms
-
from django.http import HttpResponse
-
from disk.models import User
-
-
# Create your views here.
-
class UserForm(forms.Form):
-
username = forms.CharField()
-
headImg = forms.FileField()
-
-
def register(request):
-
if request.method == "POST":
-
uf = UserForm(request.POST,request.FILES)
-
if uf.is_valid():
-
#獲取表單資訊
-
username = uf.cleaned_data['username']
-
headImg = uf.cleaned_data['headImg']
-
#寫入資料庫
-
user = User()
-
user.username = username
-
user.headImg = headImg
-
user.save()
-
return HttpResponse('upload ok!')
-
else:
-
uf = UserForm()
- return render_to_response('register.html',{'uf':uf})
-
-
def listpag(request):
listpag=User.objects.all()
return render_to_response('listpag.html',locals())
urls配置省略。。。。
3.html設計
-
上傳頁面
-
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">
-
<html xmlns="" xml:lang="en" lang="en">
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
<title></title>
-
</head>
-
<body>
-
<h1>register</h1>
-
<form method="post" enctype="multipart/form-data" >
-
{{uf.as_p}} ### as_p就是全部欄位的意思
-
<input type="submit" value="ok"/>
-
</form>
-
</body>
-
</html>
-
-
-
顯示頁面
-
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">
-
<html xmlns="" xml:lang="en" lang="en">
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
<title></title>
-
{% load staticfiles %}
-
</head>
-
<body>
-
<h1>register</h1>
-
<img src="/static/upload/2.jpg" alt="鬱金香" /> ###以靜態路徑的方式呼叫
-
<img src="{% static 'upload/2.jpg' %}" alt="鬱金香" /> ###以tag的方式呼叫圖片
-
-
{% for listpag in listpag%}
-
{{ listpag.username }}
-
{{ listpag.headImg }}
-
{% endfor %}
-
-
</body>
- </html>
4.setting.py設定
-
STATIC_URL = '/static/'
-
上面那句是寫死的,讓django能呼叫靜態檔案,下面這句是配置靜態檔案的路徑,路徑可以填寫多個,用逗號隔開
-
STATICFILES_DIRS = (
-
os.path.join(BASE_DIR, "static"),
-
)
-
BASE_DIR一般是django定義好的,在setting.py的最上面:
-
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-
-
os.path.join的作用是把兩個路徑拼接成一個完整的路徑。
-
上面配置修改完,還需要在urls.py中加入配置,首先要引入模組
-
from django.conf.urls.static import static
-
from django.conf import settings
-
-
-
至此,django就可以呼叫靜態檔案了,模版檔案還要注意寫法,{% load staticfiles %}不要忘記寫,可見第三步驟
參考文件:-
STATIC_URL = '/static/'
-
上面那句是寫死的,讓django能呼叫靜態檔案,下面這句是配置靜態檔案的路徑,路徑可以填寫多個,用逗號隔開
-
STATICFILES_DIRS = (
-
os.path.join(BASE_DIR, "static"),
-
)
-
BASE_DIR一般是django定義好的,在setting.py的最上面:
-
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-
-
os.path.join的作用是把兩個路徑拼接成一個完整的路徑。
-
上面配置修改完,還需要在urls.py中加入配置,首先要引入模組
-
from django.conf.urls.static import static
-
from django.conf import settings
-
-
- 至此,django就可以呼叫靜態檔案了,模版檔案還要注意寫法,{% load staticfiles %}不要忘記寫,可見第三步驟
http://www.cnblogs.com/tramp/p/5230270.html
http://www.cnblogs.com/fnng/p/3740274.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2135397/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檔案上傳和下載功能
- 【python】用python指令碼實現ansible的推送、下載、上傳檔案功能Python指令碼
- 基於SpringWeb MultipartFile檔案上傳、下載功能SpringWeb
- 教你如何實現c#檔案上傳下載功能C#
- 檔案上傳下載
- [python][flask] Flask 圖片上傳與下載例子(支援漂亮的拖拽上傳)PythonFlask
- 檔案上傳與下載
- JAVA檔案上傳下載Java
- Vertx 檔案上傳下載
- centos上傳下載檔案CentOS
- Python介面自動化——檔案上傳/下載介面Python
- python寫的FTP簡單上傳下載檔案薦PythonFTP
- python-Django基本流程原理01PythonDjango
- Java SFTP 上傳、下載等操作JavaFTP
- 檔案的上傳與下載
- JAVA中使用FTPClient上傳下載JavaFTPclient
- 使用SecureCRT上傳下載檔案Securecrt
- ftp上傳工具下載,ftp上傳工具下載使用教程,Linux如何配置ftp伺服器?FTPLinux伺服器
- minio檔案上傳與下載
- springboot 檔案上傳下載Spring Boot
- 檔案上傳下載小工具
- java 上傳 下載檔案工具類Java
- 檔案下載上傳小工具
- spring webflux檔案上傳下載SpringWebUX
- iterm2上傳下載檔案
- 使用Thread打造上傳下載器thread
- 從ftp上傳下載檔案(二)FTP
- 從ftp上傳下載檔案(一)FTP
- C# FTP 上傳 下載(彙總)C#FTP
- linux之SecureCRT上傳或下載LinuxSecurecrt
- HttpWebChilent上傳與下載進度條HTTPWeb
- C# FTP上傳下載(支援斷點續傳)C#FTP斷點
- C# 上傳下載ftp(支援斷點續傳)C#FTP斷點
- Spring Boot 檔案上傳與下載Spring Boot
- xshell 使用 sftp上傳下載檔案FTP
- Struts2的檔案上傳下載
- Feign實現檔案上傳下載
- Qt5.X FTP上傳與下載QTFTP