django實戰:實現簡單的文件上傳功能
如何利用Django實現一個簡單的文件上傳功能?上周在進行這一部分學習的時候折騰了好久,今天把過程給大家分享出來,希望對大家的學習有些幫助。
軟件版本
Django:1.10.2+Python3.6+pycharm2016.1.4。
實現步驟
1)創建項目Django_upload:django-admin startproject Django_upload;創建app:cd Django_upload;Python manage.py startapp blog。
2)設計模型(M) 這里的模型只包括了兩個屬性:用戶名(即誰上傳了該文件);文件名。具體形式如下所示:

同步數據庫:Python?manage.py makemigrations
Python manage.py migrate
3)設計視圖(V)
view.py:

配置urls.py:

4)設計模板與表單(T)templates/register.html

在這里,表單方法為POST,enctype=”multipart/form-data”:表單數據被編碼為一條消息。(一般用于傳輸二進制文件(圖片、視頻)) {% csrf_token %}: 跨域請求,我們需要在表單標簽的內部加上這個模板標簽,而且要在views.py中配合render不是render_to_response來實現。 {{ uf.as_p }}:這樣一次性可以把表單里的所有字段給顯示處理
顯示結果

提交表單后

補充form顯示單個元素
{{ field.label_tag }}: {{ field }}
比如我的form有個qq字段。那么就是這樣寫:
{{ form.qq.label_tag }}#表示在form 里面定義這個字段的名稱
{{ form.qq }}#根據這個字段在form定義的類型來決定。假設是char類型。那就是文本框
{{ form.qq.errors.as_text }}表示如果表單字段驗證失敗的話,這個代表錯誤信息
{{ form.qq.help_text }}如果你在form里定義了這個字段的幫助信息的話,就會在這里顯示了。
馬哥教育精英線下Linux班鄭州校區開班倒計時,優惠四重享,贈送高達4000元的學習大禮包:
第一重:4月30日前報名,立減400元,名額有限搶完為止;
第二重:4月30日前報名,贈送馬哥教育內部Linux知識精講教材一本(價值666元);
第三重:4月30日前報名,贈送馬哥教育實體服務器使用資格(價值1666元);
第四重:4月30日前報名,贈送馬哥教育云學堂學習權限1個(價值1999元);