当前位置: 首页 > news >正文

怎么改网站标题网站推广优化是什么意思

怎么改网站标题,网站推广优化是什么意思,常州制作网站软件,茂名建网站文章目录 一、静态文件和媒体文件1.在django中使用静态文件实践2.在django中使用媒体文件 二、文件上传单文件上传实践多文件上传 一、静态文件和媒体文件 媒体文件: 用户上传的文件,叫做media 静态文件:存放在服务器的css,js,image,font等 叫做static1.在django中…

文章目录

  • 一、静态文件和媒体文件
    • 1.在django中使用静态文件
    • 实践
    • 2.在django中使用媒体文件
  • 二、文件上传
    • 单文件上传
    • 实践
    • 多文件上传


一、静态文件和媒体文件

媒体文件: 用户上传的文件,叫做media
静态文件:存放在服务器的css,js,image,font等 叫做static

1.在django中使用静态文件

1)首先确保django.contrib.staticfiles在 INSTALLED_APPS中
2)在settings中定义STATIC_URLSTATIC_URL = '/static/'
3)在你app的static目录中存放静态文件,比如App/static/example.jpg
4)如果有别的静态资源文件,不在app下的static目录下,可以通过STATICFILES_DIRS来指定额外的静态文件搜索目录。STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),...]
5)在模板中使用load标签去加载静态文件{% load static %}<img src="{% static "App/example.jpg" %}" />

实践

创建一个新项目 Day06DjangoPro01

在这里插入图片描述

每一个应用中都可以新建一个static和templates

在这里插入图片描述

如果想要额外再加一些静态文件路径,就再加一个STATICFILES_DIRS
在这里插入图片描述

App\templates\index.html
一般用<link rel="stylesheet" href="{% static 'css/index.css' %}">

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>使用静态文件</title>{% load static %}
{#    <link rel="stylesheet" href="/static/css/index.css">#}<link rel="stylesheet" href="{% static 'css/index.css' %}"></head>
<body>
<h2>使用静态文件</h2>
<hr></body>
</html>

App\static\css\index.css

h2 {color: #7FFF00FF;
}

根路由Day06DjangoPro01\urls.py

from django.contrib import admin
from django.urls import path
from App.views import *urlpatterns = [path('admin/', admin.site.urls),path('index/', index),
]

App\views.py

from django.shortcuts import render# 静态文件的使用
def index(request):return render(request, 'index.html')

在这里插入图片描述

在项目根目录下的static和templates 也是可以这样用的

2.在django中使用媒体文件

在settings中配置	MEDIA_ROOTMEDIA_ROOT = os.path.join(BASE_DIR, "media")

二、文件上传

单文件上传

文件上传要求form表单存在enctype="multipart/form-data"属性,并且提交方法是post。<form enctype="multipart/form-data" action="/uploadFile/" method="post"><input type="file"name="myfile" /><br/><input type="submit" value="upload"/></form>最简单的文件上传:
def file_upload(request):if request.method =='POST':# 获取上传的文件,如果没有文件,则默认为NonemyFile = request.FILES.get( 'myfile'None)if not myFile:return HttpResponse("no files for upload")file_path = os.path.join(settings.MEDIA_ROOT, '1.jpg')with open(file_path, 'ab') as fp:for part in myFile.chunks():fp.write(part)return HttpResponse("上传成功!")else:return render(request,'index.html')

实践

在settings中配置 MEDIA_ROOT

# 媒体文件
MEDIA_ROOT = BASE_DIR / 'static/upload'

在这里插入图片描述

templates\upload1.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h2>单文件上传</h2><form action="" enctype="multipart/form-data" method="post">{% csrf_token %}用户名:<input type="text" name="username"><br>头像:<input type="file"name="icon" /><br/><button>上传图片</button></form>
</body>
</html>

App\models.py

from django.db import models# 用户
class UserModel(models.Model):# 名字name = models.CharField(max_length=30, unique=True)# 头像icon = models.CharField(max_length=255)

写完之后记得做迁移

生成迁移文件: python manage.py makemigrations
执行迁移: python manage.py migrate

App\views.py

import os
import uuidfrom django.conf import settingsfrom django.shortcuts import render# 上传文件:媒体文件
# 单文件上传
from App.models import UserModeldef upload1(request):if request.method == 'GET':return render(request, 'upload1.html')elif request.method == 'POST':# 单文件上传username = request.POST.get('username')icon = request.FILES.get('icon')  # 只有一个文件用get()print(icon, type(icon))  # 文件对象# picture3.jpg   <class 'django.core.files.uploadedfile.TemporaryUploadedFile'>print(icon.name)  # picture3.jpg# 1. 将上传的图片存储到后端对应的媒体文件夹中# file_name = icon.name  # 图片名称尽量不要使用原图名称# file_name = gen_uuid_name() + icon.name[icon.name.rfind('.'):]  # icon.name.rfind('.') 获得最后一个.的下标, 拿到的是 .jpgfile_name = gen_uuid_name() + os.path.splitext(icon.name)[-1]  # os.path.splitext得到的是一个数组,取最后一个, 拿到的是 .jpg# 后面可以加个时间戳file_path = os.path.join(settings.MEDIA_ROOT, file_name)  # settings.py 设置的文件路径 MEDIA_ROOTprint('file_path', file_path)  # D:\xxx\pythonCode\Django学习\code\Day06DjangoPro01\static\upload\picture3.jpg# 分段写入文件with open(file_path, 'ab') as fp:  # ab 追加写的方式for part in icon.chunks():  # icon.chunks()方法 会一段一段的取,直到你取完为止,考虑到上传视频很大的话,一次性取会占很大一块内存,所以分段取fp.write(part)fp.flush()  # 写一段,清空一次缓存# 如果要把用户的图片存起来,不是直接把图片的二进制存起来,虽然可以存二进制,但是我们一般不存二进制# 2. 存到本地。将该媒体文件的路径 存入到数据库中。因为图片视频的二进制都比较大,如果存二进制到数据库会很大user = UserModel()user.name = usernameuser.icon = 'upload/' + file_nameuser.save()  # 保存return render(request, 'upload1.html')# 得到一个图片名称(通过uuid来得到唯一的图片名称)
def gen_uuid_name():return str(uuid.uuid4())  # 它会根据我们的时间还有随机数之类的东西去生成唯一的字符串

urls.py

# 上传文件
path('upload1/', upload1),

浏览器http://127.0.0.1:8000/upload1/
在这里插入图片描述
在这里插入图片描述
可以看到上传成功啦!!!

多文件上传

App\models.py

# 相册
class PhotoModel(models.Model):img = models.CharField(max_length=255)  # 图片地址# 图片所属用户user = models.ForeignKey(UserModel, on_delete=models.PROTECT)  # 每一个照片只属于一个用户,一对多关系

写完之后记得做迁移

生成迁移文件: python manage.py makemigrations
执行迁移: python manage.py migrate

templates\upload2.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h2>多文件上传</h2>{#  enctype="multipart/form-data"  : 支持文件上传  #}{#  multiple: 支持文件多选  #}<form action="" enctype="multipart/form-data" method="post">{% csrf_token %}用户id<input type="text" name="userid"><br>请选择要上传的照片:<input type="file" name="imgs" multiple /><br/><button>上传图片</button></form>
</body>
</html>

App\views.py

import os
import uuidfrom django.conf import settingsfrom django.shortcuts import render
from App.models import *# 多文件上传
def upload2(request):if request.method == 'GET':return render(request, 'upload2.html')elif request.method == 'POST':userid = request.POST.get('userid')imgs = request.FILES.getlist('imgs')print('imgs: ', imgs)#  [<TemporaryUploadedFile: picture2.jpg (image/jpeg)>,#  <TemporaryUploadedFile: picture3.jpg (image/jpeg)>,...]for img in imgs:# 1. 把图片存储到uploads中file_name = gen_uuid_name() + os.path.splitext(img.name)[-1]file_path = os.path.join(settings.MEDIA_ROOT, file_name)  # 得到一个绝对文件路径with open(file_path, 'ab') as fp:for part in img.chunks():fp.write(part)fp.flush()#  2. 将图片路径存入到数据库中photo = PhotoModel()photo.img = 'uploads/' + file_namephoto.user_id = userid  # photo.user = UserModel.objects.filter(pk=userid).first()# 没查到就是None,暂时不考虑其他问题Nonephoto.save()return render(request, 'upload2.html')

urls.py

path('upload2/', upload2),  # 多文件上传

浏览器 http://127.0.0.1:8000/upload2/

在这里插入图片描述

在这里插入图片描述

可以看到,图片保存成功啦,数据也存到数据库啦


文章转载自:
http://dinncounbeknown.knnc.cn
http://dinncotardyon.knnc.cn
http://dinncogeniculum.knnc.cn
http://dinncoclinical.knnc.cn
http://dinncogeisha.knnc.cn
http://dinncoasparaginase.knnc.cn
http://dinncosmartly.knnc.cn
http://dinncolunchroom.knnc.cn
http://dinncosnuffle.knnc.cn
http://dinncoamatol.knnc.cn
http://dinncomultipliable.knnc.cn
http://dinncotundish.knnc.cn
http://dinncobreeze.knnc.cn
http://dinncocst.knnc.cn
http://dinncosarcomatosis.knnc.cn
http://dinncopolyphyletism.knnc.cn
http://dinncointerscan.knnc.cn
http://dinncopentyl.knnc.cn
http://dinncophilhellenism.knnc.cn
http://dinncosubmedian.knnc.cn
http://dinncoconceivability.knnc.cn
http://dinnconazism.knnc.cn
http://dinncosignet.knnc.cn
http://dinncocorydalis.knnc.cn
http://dinncohexapartite.knnc.cn
http://dinncolucre.knnc.cn
http://dinncopaye.knnc.cn
http://dinncodwell.knnc.cn
http://dinncoporphyry.knnc.cn
http://dinncomonocarpic.knnc.cn
http://dinncoengland.knnc.cn
http://dinncoblackmail.knnc.cn
http://dinncoritenuto.knnc.cn
http://dinncomuscardine.knnc.cn
http://dinnconaples.knnc.cn
http://dinncopyrograph.knnc.cn
http://dinncoconsignation.knnc.cn
http://dinncoguyana.knnc.cn
http://dinncowedgie.knnc.cn
http://dinncobourse.knnc.cn
http://dinncomusky.knnc.cn
http://dinncoprescription.knnc.cn
http://dinncoautocriticism.knnc.cn
http://dinncoinsinuating.knnc.cn
http://dinncolikelihood.knnc.cn
http://dinncogray.knnc.cn
http://dinncotonetic.knnc.cn
http://dinncotrying.knnc.cn
http://dinncowaterish.knnc.cn
http://dinncouredinium.knnc.cn
http://dinncodermatoplastic.knnc.cn
http://dinncocoarseness.knnc.cn
http://dinncograndness.knnc.cn
http://dinncoreconcilability.knnc.cn
http://dinncoatebrin.knnc.cn
http://dinncohairologist.knnc.cn
http://dinncosubcontinent.knnc.cn
http://dinncoacceleratory.knnc.cn
http://dinncoglycolipid.knnc.cn
http://dinncopronominalize.knnc.cn
http://dinncoleathery.knnc.cn
http://dinncolsu.knnc.cn
http://dinncobeading.knnc.cn
http://dinncoinsidious.knnc.cn
http://dinncotreadmill.knnc.cn
http://dinncomaldevelopment.knnc.cn
http://dinncodoubt.knnc.cn
http://dinncoatli.knnc.cn
http://dinncoencephalitis.knnc.cn
http://dinncoexonerative.knnc.cn
http://dinncoanabolism.knnc.cn
http://dinncouraniscus.knnc.cn
http://dinncotops.knnc.cn
http://dinncosubcenter.knnc.cn
http://dinncodownwind.knnc.cn
http://dinncoreprint.knnc.cn
http://dinncobulgaria.knnc.cn
http://dinncofraud.knnc.cn
http://dinncopaleness.knnc.cn
http://dinncosupersex.knnc.cn
http://dinncoquib.knnc.cn
http://dinncotrivalence.knnc.cn
http://dinncodemorphism.knnc.cn
http://dinncocybernetics.knnc.cn
http://dinncocrystallise.knnc.cn
http://dinncomercery.knnc.cn
http://dinncobonkers.knnc.cn
http://dinncoventilated.knnc.cn
http://dinncooos.knnc.cn
http://dinncoheadmistress.knnc.cn
http://dinncocircumnutation.knnc.cn
http://dinncoperron.knnc.cn
http://dinncoluoyang.knnc.cn
http://dinncoanna.knnc.cn
http://dinncotrip.knnc.cn
http://dinncosculpin.knnc.cn
http://dinncothermoelement.knnc.cn
http://dinncocomparatist.knnc.cn
http://dinncoquarterdecker.knnc.cn
http://dinncolocksmithery.knnc.cn
http://www.dinnco.com/news/93192.html

相关文章:

  • 网站建设的具体流程重大军事新闻最新消息
  • 如何判断网站程序使用asp还是php智慧软文
  • html5浅蓝色网站设计公司dede模板培训心得总结
  • 为什么没人做物流网站今天刚刚发生的新闻最新新闻
  • 车间管理系统搜索引擎优化是什么意思啊
  • 建设银行造价咨询中心网站网络推广的工作好做吗
  • 足球网站怎么做广州营销seo
  • wordpress视频播放代码长沙关键词优化平台
  • 国外建站程序标题优化seo
  • 做ppt的网站叫什么软件营销的概念是什么
  • 可以自己做网站的软件培训心得体会1500字
  • 网站表格边框怎么做seo排名点击
  • 划分切片来做网站临沧seo
  • 网站设计培训基地郑州做网站推广电话
  • 个人网站怎么推广百度营销登录平台
  • 天津建设教育培训中心网站seo 优化
  • 购物网站优化的建议chrome官网
  • 网站建设分金手指专业一青岛seo全网营销
  • 有哪些网站可以免费看刷粉网站推广快点
  • 建设银行网站怎么登陆不了了今日头条十大热点
  • 赣州高端网站开发快速排名seo软件
  • 朔州网站设计公司自己开平台怎么弄啊
  • 庆阳今日头条新闻奉节县关键词seo排名优化
  • 做外贸的网站如何能查到百度搜索排名
  • 重庆专业网站建设公司排名太原seo报价
  • 网站百度seo推广怎么做网络推广公司排名
  • 网站内容包括哪些百度站长平台官网登录入口
  • 哪个网站做相册好sem推广
  • 如果一个网站没有备案湖南网站设计外包哪家好
  • 网站开发实战作业答案百度的客服电话是多少