最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中Django文件上傳方法詳解

 更新時(shí)間:2020年08月05日 07:53:11   作者:愛(ài)喝馬黛茶的安東尼  
在本篇文章里小編給大家整理了一篇關(guān)于python中Django文件上傳方法,有興趣的朋友們可以學(xué)習(xí)下。

Django上傳文件最簡(jiǎn)單最官方的方法

1.配置media路徑

在settings.py中添加如下代碼:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

2.定義數(shù)據(jù)表

import os
from django.db import models
from django.utils.timezone import now as timezone_now
def upload_to(instance, filename):
    now = timezone_now()
    base, ext = os.path.splitext(filename)
    ext = ext.lower()
    return f'quotes/{now:%Y/%m/%Y%m%d%H%M%S}{ext}'
class Quote(models.Model):
    class Meta:
        verbose_name = 'quote'
        verbose_name_plural = verbose_name
    author = models.CharField('author', max_length=200)
    quote = models.TextField('quote')
    picture = models.ImageField('picture', upload_to=upload_to, blank=True, null=True)
    def __str__(self):
        return self.quote

這里的upload_to函數(shù)會(huì)自動(dòng)把文件的名稱(chēng)修改為日期型的名稱(chēng),不會(huì)重名。

相關(guān)推薦:《Python視頻教程》

zz.png

3.添加form表單

forms.py文件

from django import forms
from .models import Quote
class QuoteForm(forms.ModelForm):
    class Meta:
        model = Quote
        fields = '__all__'

4.編寫(xiě)視圖代碼

from django.shortcuts import render, redirect
from .forms import QuoteForm
def add_quote(request):
    form = QuoteForm()
    if request.method == 'POST':
        form = QuoteForm(
            data=request.POST,
            files=request.FILES
        )
        if form.is_valid():
            form.save()
            return redirect('quote:add_quote')
    else:
        return render(request, 'quotes/add_quote.html', {
            'form': form
        })

5.編寫(xiě)模板html代碼

<form action="{% url 'quote:add_quote' %}" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">save</button>
</form>

6.添加url映射

在app的目錄的urls.py添加
from django.urls import path
from quotes.views import add_quote
app_name = 'quote'
urlpatterns = [
    path('add/', add_quote, name='add_quote')
]

在項(xiàng)目目錄的urls.py文件添加

from django.urls import path, include
urlpatterns = [
    path('quotes/', include('quotes.urls', namespace='quote'))
]

效果圖

xx.png

知識(shí)點(diǎn)擴(kuò)展:

最簡(jiǎn)單的文件下載功能的實(shí)現(xiàn)

將文件流放入HttpResponse對(duì)象即可,如

def file_download(request):
 # do something...
 with open('file_name.txt') as f:
  c = f.read()
 return HttpResponse(c)

到此這篇關(guān)于python中Django文件上傳方法詳解的文章就介紹到這了,更多相關(guān)Django文件上傳方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 實(shí)踐Python的爬蟲(chóng)框架Scrapy來(lái)抓取豆瓣電影TOP250

    實(shí)踐Python的爬蟲(chóng)框架Scrapy來(lái)抓取豆瓣電影TOP250

    這篇文章主要介紹了實(shí)踐Python的爬蟲(chóng)框架Scrapy來(lái)抓取豆瓣電影TOP250的過(guò)程,文中的環(huán)境基于Windows操作系統(tǒng),需要的朋友可以參考下
    2016-01-01
  • Pycharm中Python環(huán)境配置常見(jiàn)問(wèn)題解析

    Pycharm中Python環(huán)境配置常見(jiàn)問(wèn)題解析

    這篇文章主要介紹了Pycharm中Python環(huán)境配置常見(jiàn)問(wèn)題,結(jié)合圖文形式分析了Pycharm中Python環(huán)境配置模塊路徑問(wèn)題、虛擬環(huán)境創(chuàng)建、配置遠(yuǎn)程服務(wù)器、連接數(shù)據(jù)庫(kù)等常見(jiàn)問(wèn)題與操作方法,需要的朋友可以參考下
    2020-01-01
  • UI自動(dòng)化定位常用實(shí)現(xiàn)方法代碼示例

    UI自動(dòng)化定位常用實(shí)現(xiàn)方法代碼示例

    這篇文章主要介紹了UI自動(dòng)化定位常用實(shí)現(xiàn)方法代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • python顯示天氣預(yù)報(bào)

    python顯示天氣預(yù)報(bào)

    這篇文章主要介紹了python顯示天氣預(yù)報(bào)功能,python2.7運(yùn)行通過(guò),需要的朋友可以參考下
    2014-03-03
  • python3讀取csv和xlsx文件的實(shí)例

    python3讀取csv和xlsx文件的實(shí)例

    今天小編就為大家分享一篇python3讀取csv和xlsx文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)的大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python 框架 FastAPI詳解

    Python 框架 FastAPI詳解

    FastAPI 是一個(gè)現(xiàn)代、快速且高性能的 Web 框架,用于 Python 3.6+,基于 Python 類(lèi)型提示構(gòu)建 API,它通過(guò) Starlette 和 Pydantic 優(yōu)化,支持多種 HTTP 方法、異步編程、數(shù)據(jù)驗(yàn)證和自動(dòng)生成交互式文檔,FastAPI 適合快速開(kāi)發(fā)高性能、可擴(kuò)展的 Web 服務(wù)
    2024-11-11
  • Python遠(yuǎn)程視頻監(jiān)控程序的實(shí)例代碼

    Python遠(yuǎn)程視頻監(jiān)控程序的實(shí)例代碼

    這篇文章主要介紹了Python遠(yuǎn)程視頻監(jiān)控程序的實(shí)例代碼,需要的朋友可以參考下
    2019-05-05
  • 2022最新Python日志庫(kù)logging總結(jié)

    2022最新Python日志庫(kù)logging總結(jié)

    這篇文章主要介紹了2022最新Python日志庫(kù)logging總結(jié),Python logging 庫(kù)設(shè)計(jì)的真的非常靈活,如果有特殊的需要還可以在這個(gè)基礎(chǔ)的 logging 庫(kù)上進(jìn)行改進(jìn),創(chuàng)建新的 Handler 類(lèi)解決實(shí)際開(kāi)發(fā)中的問(wèn)題,需要的朋友可以參考下
    2022-05-05
  • 使用Python編寫(xiě)提取日志中的中文的腳本的方法

    使用Python編寫(xiě)提取日志中的中文的腳本的方法

    這篇文章主要介紹了使用Python編寫(xiě)提取日志中的中文的腳本的方法,該腳本包括過(guò)濾重復(fù)的字符行等功能,需要的朋友可以參考下
    2015-04-04
  • python lxml中etree的簡(jiǎn)單應(yīng)用

    python lxml中etree的簡(jiǎn)單應(yīng)用

    這篇文章主要介紹了python lxml中etree的簡(jiǎn)單應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

绥宁县| 五台县| 嘉善县| 黔西县| 保德县| 民县| 五家渠市| 土默特右旗| 碌曲县| 酉阳| 且末县| 洛扎县| 普兰县| 泽库县| 晋宁县| 广安市| 仁寿县| 新密市| 会理县| 新乡县| 全州县| 法库县| 固阳县| 荣昌县| 黑山县| 黄平县| 安远县| 永吉县| 光山县| 太仆寺旗| 仁寿县| 古交市| 聊城市| 容城县| 绥宁县| 宜良县| 邯郸市| 南昌县| 大埔区| 桦南县| 南华县|