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

Django 實現(xiàn)圖片上傳和顯示過程詳解

 更新時間:2019年07月18日 11:11:17   作者:大牙啊  
這篇文章主要介紹了Django 實現(xiàn)圖片上傳和顯示過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

第1章 新建工程和創(chuàng)建app

新建工程和創(chuàng)建app就不用貼出來了,我這里是測試圖片上傳的功能能否實現(xiàn),所以項目都是新的,正常在以有的app下就可以

第2章 模型層:

2.1創(chuàng)建數(shù)據(jù)庫

from django.dbimport models

# Create your models here.
class User(models.Model):
  name= models.CharField(max_length=50)
  # upload_to 指定上傳文件位置
  # 這里指定存放在img/ 目錄下
  headimg = models.FileField(upload_to="img/")

  # 返回名稱
  def__str__(self):
    returnself.name

2.2初始化數(shù)據(jù)庫:

(mypy3) ➜ BBS python manage.py makemigrations

Migrations for 'app01':

 app01/migrations/0001_initial.py

  - Create model User

(mypy3) ➜ BBS python manage.py migrate    

Operations to perform:

 Apply all migrations: admin, app01, auth, contenttypes, sessions

第3章 修改配置文件

3.1settings中增加如下配置:

MEDIA_ROOT= os.path.join(BASE_DIR, 'media').replace("\\", "/")
MEDIA_URL = '/media/'

3.2工程的urls文件:

from django.conf.urlsimport url
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
  url(r'^admin/', admin.site.urls),
  # url(r'^regsiter/', views.regsiter),
  # url(r'', TemplateView.as_view(template_name="app01/index.html")),
  path('app01/', include('app01.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

3.3app:

from django.urlsimport path
from . import views

app_name = 'app01'
urlpatterns = [
  path('add/', views.add, name='add'),
  # path('index/', views.index, name='index'),
]

3.4修改模版配置:

TEMPLATES= [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'templates')],
    'APP_DIRS': True,
    'OPTIONS': {
      'context_processors': [
        'django.template.context_processors.debug',
        'django.template.context_processors.request',
        'django.contrib.auth.context_processors.auth',
        'django.contrib.messages.context_processors.messages',
      ],
    },
  },
]

第4章 數(shù)據(jù)校驗?zāi)K:

數(shù)據(jù)需要校驗的情況下,如果你不想校驗,這個可以忽略

4.1在app下創(chuàng)建forms文件:

from django import forms

# 表單類用以生成表單
class AddForm(forms.Form):
  name = forms.CharField()
  headimg = forms.FileField()

第5章 視圖層:

5.1編寫圖片處理邏輯

from django.shortcutsimport render
from .models import User
from .forms import AddForm

# Create your views here.
def add(request):
  # 判斷是否為post 方法提交
  ifrequest.method == "POST":
    af = AddForm(request.POST, request.FILES)
    # 判斷表單值是否和法
    ifaf.is_valid():
      name = af.cleaned_data['name']
      headimg = af.cleaned_data['headimg']
      user = User(name=name, headimg=headimg)
      user.save()
      returnrender(request, 'app01/index.html', context={"user":user})
  else:
    af = AddForm()
    returnrender(request, 'app01/add.html', context={"af":af})

第6章 模版層:

上傳的html

<!-- templates/users/add.html -->
<!doctype html>
<html>
<head>
  <title>Add</title>
  <meta charset="utf-8">
</head>
<body>
  <h1>Add!</h1>

  <form method="post" enctype="multipart/form-data" action="{% url'app01:add' %}">
    {%csrf_token %}
    {{ af.as_p }}
    <inputtype="submit" value="OK"/>
  </form>
</body>
</html>

查看的html

<!-- templates/users/index.html -->
<!doctype html>
<html>
<head>
  <title>Detail</title>
  <meta charset="utf-8">
</head>
<body>
  <p>{{user.name}}</p>
  <img width="50%" height="50%"src="/media/{{ user.headimg }}">
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 了解不常見但是實用的Python技巧

    了解不常見但是實用的Python技巧

    下面有一些相對不常見但非常有用的Python技巧,小編來和大家一起學(xué)習(xí)一下
    2019-05-05
  • Python中Collection的使用小技巧

    Python中Collection的使用小技巧

    這篇文章主要介紹了Python中Collection的使用小技巧,對初學(xué)者來說有不錯的學(xué)習(xí)借鑒價值,需要的朋友可以參考下
    2014-08-08
  • Pytest自定義用例執(zhí)行順序(推薦)

    Pytest自定義用例執(zhí)行順序(推薦)

    github 上有個 pytest-ordering 插件可以控制用例的執(zhí)行順序,本文給大家介紹了Pytest自定義用例執(zhí)行順序,需要的朋友可以參考下
    2021-12-12
  • 解決Python網(wǎng)頁爬蟲之中文亂碼問題

    解決Python網(wǎng)頁爬蟲之中文亂碼問題

    今天小編就為大家分享一篇解決Python網(wǎng)頁爬蟲之中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 基于Python實現(xiàn)PDF轉(zhuǎn)換文件格式

    基于Python實現(xiàn)PDF轉(zhuǎn)換文件格式

    這篇文章主要為大家詳細介紹了如何基于Python實現(xiàn)PDF轉(zhuǎn)換文件格式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • Python實現(xiàn)直播推流效果

    Python實現(xiàn)直播推流效果

    這篇文章主要介紹了Python實現(xiàn)直播推流效果,主要是通過opencv讀取視頻對視頻分割為幀,本文通過實例代碼講解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • Python數(shù)據(jù)類型中的元組Tuple

    Python數(shù)據(jù)類型中的元組Tuple

    這篇文章主要介紹了Python數(shù)據(jù)類型中的元組Tuple,元組可以理解為一個只讀列表,用()來標(biāo)識,下文圍繞元組展開詳細資料,需要的小伙伴可以參考一下
    2022-02-02
  • Python os.mkdir()與os.makedirs()的使用區(qū)別

    Python os.mkdir()與os.makedirs()的使用區(qū)別

    這篇文章主要介紹了Python os.mkdir()與os.makedirs()的使用區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python英語單詞測試小程序代碼實例

    python英語單詞測試小程序代碼實例

    這篇文章主要介紹了python英語單詞測試小程序代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python 正則表達式(?=...)和(?<=...)符號的使用

    Python 正則表達式(?=...)和(?<=...)符號的使用

    本文主要介紹Python 正則表達式(?=...)和(?<=...)符號的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評論

陆川县| 尼勒克县| 铜山县| 买车| 安达市| 陇西县| 法库县| 五台县| 阜城县| 奎屯市| 隆昌县| 精河县| 泸定县| 永顺县| 宜阳县| 淮滨县| 化德县| 南郑县| 安远县| 苏尼特右旗| 文水县| 安康市| 东莞市| 分宜县| 北宁市| 秦皇岛市| 安塞县| 滨州市| 新民市| 临武县| 临城县| 武定县| 乌鲁木齐县| SHOW| 淳化县| 新安县| 沾益县| 东乡县| 宁强县| 漾濞| 民县|