django的文件上传&JsonResponse的使用&数据库的连接

  1 request对象

method:请求方式

GET:get请求的参数(post请求,也可以携带参数)

POST:post请求的参数(本质是从bdoy中取出来,放到里面了)

COOKIES:

META:字典(放着好多东西,前端传过来的,一定能从其中拿出来)

body:post提交的数据

path:请求的路径,不带参数

request.get_full_path() 请求路径,带参数

session:

user:

FILES

encoding:编码格式

is_ajax():

2 HttpResponse对象

-三件套

法一:

HttpResponse(json.dumps(dic,ensure_ascii=False))

法二:

From django.http import JsonResponse

-JsonResponse:往前端返回json格式数据(没有它,我可以自己写)

-转列表格式:指定safe=False

-中文字符问题:json_dumps_params={‘ensure_ascii‘:False}

3 wsgiref,uwsgi,---都遵循wsgi协议

Wsgiref自己写代码时用,uwsgi上线用(可以解决高并发)

-遵循一个协议wsgi(Web Server Gateway Interface web服务网关接口)

4 CBV(基于类的视图)和FBV(基于函数的视图)

-cbv:一个路由写一个类

-先定义一个类:继承自View

from django.views import View

class MyClass(View):

# 当前端发get请求,会响应到这个函数

def get(self, request):

return render(request,‘index.html‘)

# 当前端发post请求,会响应到这个函数

def post(self,request):

print(request.POST.get(‘name‘))

return HttpResponse(‘cbv--post‘)

-在路由层:

re_path(‘^myclass/$‘,views.MyClass.as_view()),

5 文件上传

-form表单默认提交的编码方式是enctype="application/x-www-form-urlencoded"

-前端:如果要form表单上传文件,必须指定编码方式为:multipart/form-data

-后端:

file=request.FILES.get(‘myfile‘)

with open(file.name,‘wb‘) as f:

for line in file:

f.write(line)

6 前端提交数据编码格式:

-multipart/form-data(上传文件)

-application/x-www-form-urlencoded(默认编码)

7 图书管理系统表分析:

图书管理系统

-表:

book表

author表

publish表

-一对一:一对多的关系一旦确立,关联字段写在哪都可以

-一对多:一对多的关系一旦确立,关联关系写在多的一方

-多对多:多对多的关系,必须创建第三张表(中间表)

8 models中写的class时 的注意点

class Book(models.Model):

id = models.AutoField(primary_key=True)

name = models.CharField(max_length=32)

pub_date = models.DateField()

# max_digits:最长是5,decimal_places:小数点后两位

price = models.DecimalField(max_digits=5, decimal_places=2)

# to=‘Publish‘,to_field=‘id‘:外键关联到publish表的id字段

# to 哪个表的引号可以去掉,前提是这个表必须在前面定义,推荐加引号的(使用了ForeignKey,它会自动在publish后面加_id变成publish_id)

publish = models.ForeignKey(to=‘Publish‘, to_field=‘id‘,on_delete=models.CASCADE)

# 写了这一句,相当于创建了第三章表(手动创建第三张表也可以,后面表),不会在数据库创建authors字段

authors = models.ManyToManyField(to=‘Author‘)

9 settings中的配置文件(表格插入mysql)

    ‘default‘: {
    ‘ENGINE‘: ‘django.db.backends.mysql‘,
    ‘NAME‘: ‘0109‘,
    ‘HOST‘: ‘127.0.0.1‘,
    ‘PORT‘: ‘3306‘,
    ‘USER‘: ‘root‘,
    ‘PASSWORD‘: ‘root‘,
}

原文地址:https://www.cnblogs.com/zhouhai007/p/10247267.html

时间: 2024-11-08 20:03:14

django的文件上传&JsonResponse的使用&数据库的连接的相关文章

python Django之文件上传

python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=========================================FORM表单上传文件======================================== def f1(request): #定义f1上传函数 if request.method=='GET': #如果是以GET请求 return render(request,'f1.htm

十、Django的文件上传

一.上传文件相关 请求头ContentType ContentType指的是请求体的编码类型,常见的类型共有3种: application/x-www-form-urlencoded 最常见的 POST 提交数据的方式了 浏览器的原生 form 表单,如果不设置?enctype?属性,那么最终就会以 默认格式application/x-www-form-urlencoded 方式提交数据,ajax默认也是这个 urlencoded是一种数据格式, 比如: username=yang&passwo

框架----Django之文件上传

一.文件上传 1. 浏览器访问 http://127.0.0.1:8000/f1/ http://127.0.0.1:8000/f2/ 2. urls from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^f1/', views.f1), url(r'^f2/

Django普通文件上传

前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="/static/jquery-3.2.1.min.js"></script> <script src="/static/jquery

我爱Java系列---【SpringMVC传统方式的文件上传和前端获取数据库图片在页面显示】

一.文件上传 说明:传统方式的文件上传,指的是我们上传的文件和访问的应用存在于同一台服务器上.并且上传完成之后,浏览器可能跳转. 1. 第一步:创建 maven 工程并导入 commons-fileupload 坐标 1 <dependency> 2 <groupId>commons-fileupload</groupId> 3 <artifactId>commons-fileupload</artifactId> 4 <version&g

Django处理文件上传File Uploads

HttpRequest.FILES 表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-data <form enctype="multipart/form-data" method="post" action="/foo/"> <input type="file" name="image" /> request.FILES中的键

django 的文件上传

template html(模板文件): <form enctype="multipart/form-data" method="POST" action="/address/upload/"> <input type="file" name="file" /> <br /> <input type="submit" value="上传

django 实现文件上传

创建项目与应用     django-admin.py startproject mysite cd mysite python manage.py startapp app01 打开mysite/mysite/settings.py文件,将app01应用添加进去: INSTALLED_APPS = [     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'dj

django实现文件上传(最简单的方法)

html页面代码: <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </head> <body>     <form enctype="multipart/form-data" action="/app