第1章 新建工程和创建app
新建工程和创建app就不用贴出来了,我这里是测试图片上传的功能能否实现,所以项目都是新的,正常在以有的app下就可以
第2章 模型层:
2.1创建数据库
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初始化数据库:
(mypy3) "htmlcode">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章 数据校验模块:
数据需要校验的情况下,如果你不想校验,这个可以忽略
4.1在app下创建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="/UploadFiles/2021-04-08/{{ user.headimg }}">以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】