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

包头市城乡建设委员会网站郑州关键词优化费用

包头市城乡建设委员会网站,郑州关键词优化费用,建筑公司网站大全,上海外贸网站推广哪家好【一】三板斧 【1】HttpResponse 返回字符串类型 【2】render 返回html页面,并且在返回给浏览器之前还可以给html页面传值 【3】redirect 重定向页面 在视图文件中写视图函数的时候不能没有返回值了,默认返回的是None,页面上就会报错 d…

【一】三板斧

【1】HttpResponse

  • 返回字符串类型

【2】render

  • 返回html页面,并且在返回给浏览器之前还可以给html页面传值

【3】redirect

  • 重定向页面

在视图文件中写视图函数的时候不能没有返回值了,默认返回的是None,页面上就会报错

def render(request, template_name, context=None, content_type=None, status=None, using=None):content = loader.render_to_string(template_name, context, request, using=using)return HttpResponse(content, content_type, status)

【二】JsonReponse序列化类的使用

序列化
json格式的数据
{"a":1}
json有什么用:
    跨语言传输
序列化:json.dumps
反序列化:json.loads

from django.http import JsonResponse
def index(request):user_dict = {'username':'kevin你好'}user_dict = [1, 2, 3, 4]res=json.dumps(user_dict,ensure_ascii=False)return  HttpResponse(res)#通过看源码学技术return JsonResponse(user_dict,json_dumps_params={'ensure_ascii':False})return JsonResponse(user_dict,safe=False)return render(request,'index.html')

【三】form表单文件上传下载

form表单上传数据以及后端如何获取

form知识回顾

<form action="" method="post" enctype="multipart/form-data"></form>
  • form表单想要上传文件类型的数据
    • method 参数必须改为post
    • enctype 参数必须指定成 form-data 类型

【2】数据处理

(1)POST请求数据
print(request.POST) # 接收的都是普通的数据,非文件数据<MultiValueDict: {'myfile': [<InMemoryUploadedFile: 234.png (image/png)>]}>
print(request.FILES) # 只接受文件数据,普通数据还在request.POST里面
def index(request):user_dict = {'username':'kevin你好'}user_dict = [1, 2, 3, 4]res=json.dumps(user_dict,ensure_ascii=False)return  HttpResponse(res)# 通过看源码学技术return JsonResponse(user_dict,json_dumps_params={'ensure_ascii':False})return JsonResponse(user_dict,safe=False)return JsonResponse(user_dict,safe=False)<QueryDict: {'myfile': ['234.png']}><QueryDict: {}>print(request.POST)<MultiValueDict: {'myfile': [<InMemoryUploadedFile: 234.png (image/png)>]}>file_obj=request.FILES.get('myfile')file_list = file_obj.name.split('.') # 123.png
(2)文件数据获取
    import uuidrandom_str=str(uuid.uuid4())file_name = random_str + file_obj.name.split('.')[-1]with open(file_name, 'wb') as f:for line in file_obj:f.write(line)print(request.body) # 接收纯原生的二进制数据,没有任何的处理 b''----> str---->decode---->dict...print(request.POST.get('')) # 之所以你能够直接按照字典的方式取值,是因为django给做了封装print(request.path)  # /index/  /index/print(request.path_info) # /index/   /index/print(request.get_full_path()) # /index/  /index/?a=1&b=2print(request.GET.get(''))return render(request,'index.html')

【四】总结request对象方法

【1】request.method

  • request.method:该方法返回客户端用于发起请求的HTTP方法。例如,可以是'GET'、'POST'、'PUT'、'DELETE'等。您可以使用该方法来确定请求的类型,并相应地执行特定操作。

【2】request.POST

  • request.POST:该属性是一个类似字典的对象,包含了请求中通过POST方法发送的所有参数。这些参数通常是通过HTML表单发送的。您可以使用参数的名字作为键来访问单个参数,例如request.POST['username']

【3】request.GET

  • request.GET:类似于request.POST,该属性包含了请求中通过GET方法发送的所有参数。这些参数通常会附加在URL之后,以问号分隔。您可以使用参数的名字作为键来访问单个参数,例如request.GET['page']

【4】request.FILES

  • request.FILES:该属性是一个类似字典的对象,包含了请求中通过文件上传组件发送的所有文件。当表单中包含文件上传字段时,通过request.FILES可以访问上传的文件。您可以使用文件的名字作为键来访问单个文件,例如request.FILES['file']

【5】request.path

只能获取到路由地址,无法获取到参数

  • request.path:该属性表示请求URL中的路径部分。它包含在域名之后,在任何查询参数之前。例如,如果请求的URL是"http://example.com/foo/bar/",那么request.path将为"/foo/bar/"。

【6】request.path_info

只能获取到路由地址,无法获取到参数

  • 用于表示请求URL的路径部分,不包括域名和查询参数。
  • 与 request.path 相比,request.path_info 更加原始和未经解析。它保留了URL路径中的任何编码、特殊字符或斜杠等信息。
  • 例如,对于以下请求URL:"http://example.com/foo/bar/?page=2",request.path_info 的值将是 "/foo/bar/"。
  • 通常情况下,您可以使用 request.path 来获取丢弃域名后的路径,而使用 request.path_info 来获取原始的、未解析的路径。这在某些情况下非常有用,例如当您需要对URL进行一些自定义操作或路由处理时。

【7】request.get_full_path()

即能获取到路由地址又能获取到完整的路由地址后面的参数

  • request.get_full_path():该方法返回请求URL的完整路径,包括路径部分和任何查询参数。当您需要将完整URL作为字符串使用时,这个方法非常有用。例如,如果请求的URL是"http://example.com/foo/bar/?page=2",request.get_full_path()将返回"/foo/bar/?page=2"。
     

【四】FBV与CBV引入

视图函数既可以是函数也可以是类

【1】FBV

def index(request):return HttpResponse('index')

【2】CBV

(1)CBV的写法
from django.views import Viewclass MyLogin(View):def get(self, request):print('get。。。')return HttpResponse("get")def post(self, request):return HttpResponse("hello postman!!!")url(r'^login/', views.MyLogin.as_view()),
(2)CBV的源码分析
# 入口
url(r'^login/', views.MyLogin.as_view()),# View类中得as_view方法的返回值是view函数名
# 当请求来的时候,会触发view函数的执行
def view(request, *args, **kwargs):# cls:Mylogin()------>self对象self = cls(**initkwargs)return self.dispatch(request, *args, **kwargs)  # View类里的dispatchdef dispatch(self, request, *args, **kwargs):if request.method.lower() in self.http_method_names:handler = getattr(self, request.method.lower(), self.http_method_not_allowed)else:handler = self.http_method_not_allowedreturn handler(request, *args, **kwargs)from django.views import Viewclass MyLogin(View):http_method_names = ['get', 'post']def get(self, request):print('get。。。')self.index()return HttpResponse("get")def post(self, request):return HttpResponse("hello postman!!!")def index(self):pass权限、频率、jwt的源码

MBV和CBV各有各的特点,都有应用

  • CBV特点
    • 能够直接根据请求方式的不同直接匹配到对应的方法执行
(3)小结
  • 选择使用 FBV 还是 CBV 取决于具体的需求和个人偏好。
  • FBV 相对简单直观,适合编写简单的视图逻辑;
  • 而 CBV 可以通过继承和重写类来实现代码复用和可扩展性,适用于复杂的视图处理场景。
  • 在实际开发中,可以根据需求选择适合的方式来编写视图处理函数或类。


文章转载自:
http://entropy.zpfr.cn
http://solleret.zpfr.cn
http://clinique.zpfr.cn
http://ethnological.zpfr.cn
http://agrarian.zpfr.cn
http://kineticist.zpfr.cn
http://triumphantly.zpfr.cn
http://gunshot.zpfr.cn
http://caritative.zpfr.cn
http://fabian.zpfr.cn
http://lz.zpfr.cn
http://devilment.zpfr.cn
http://bomblet.zpfr.cn
http://cyberholic.zpfr.cn
http://encode.zpfr.cn
http://germon.zpfr.cn
http://noy.zpfr.cn
http://visible.zpfr.cn
http://gelt.zpfr.cn
http://mutuality.zpfr.cn
http://fancied.zpfr.cn
http://tendence.zpfr.cn
http://endoparasite.zpfr.cn
http://atonal.zpfr.cn
http://expressions.zpfr.cn
http://walkabout.zpfr.cn
http://pneumograph.zpfr.cn
http://periastron.zpfr.cn
http://fibrinolysis.zpfr.cn
http://waftage.zpfr.cn
http://gmwu.zpfr.cn
http://mosasaur.zpfr.cn
http://cottonmouth.zpfr.cn
http://radioluminescence.zpfr.cn
http://bejabbers.zpfr.cn
http://pettifogger.zpfr.cn
http://equilibrize.zpfr.cn
http://officialize.zpfr.cn
http://woodless.zpfr.cn
http://cenogenetic.zpfr.cn
http://atom.zpfr.cn
http://sawtimber.zpfr.cn
http://flitter.zpfr.cn
http://umpy.zpfr.cn
http://myl.zpfr.cn
http://frailish.zpfr.cn
http://farraginous.zpfr.cn
http://externalism.zpfr.cn
http://enolization.zpfr.cn
http://discontinue.zpfr.cn
http://merrymaker.zpfr.cn
http://estimate.zpfr.cn
http://eisa.zpfr.cn
http://canaanitic.zpfr.cn
http://treasurable.zpfr.cn
http://imponent.zpfr.cn
http://diskdupe.zpfr.cn
http://weevily.zpfr.cn
http://immobilization.zpfr.cn
http://grossular.zpfr.cn
http://veni.zpfr.cn
http://bioclimatograph.zpfr.cn
http://glenn.zpfr.cn
http://machining.zpfr.cn
http://faucitis.zpfr.cn
http://grandpa.zpfr.cn
http://maying.zpfr.cn
http://emiocytosis.zpfr.cn
http://lyophilize.zpfr.cn
http://backhander.zpfr.cn
http://ski.zpfr.cn
http://coltish.zpfr.cn
http://bohr.zpfr.cn
http://qcb.zpfr.cn
http://moider.zpfr.cn
http://ping.zpfr.cn
http://seamount.zpfr.cn
http://indumentum.zpfr.cn
http://entomotomist.zpfr.cn
http://deliquesce.zpfr.cn
http://niggerize.zpfr.cn
http://rba.zpfr.cn
http://ochreous.zpfr.cn
http://xpvm.zpfr.cn
http://subtracter.zpfr.cn
http://affricative.zpfr.cn
http://chemist.zpfr.cn
http://incurrence.zpfr.cn
http://iodimetry.zpfr.cn
http://incohesive.zpfr.cn
http://wharf.zpfr.cn
http://constrictive.zpfr.cn
http://standaway.zpfr.cn
http://ammunition.zpfr.cn
http://epigraphy.zpfr.cn
http://haematophyte.zpfr.cn
http://vaalhaai.zpfr.cn
http://odette.zpfr.cn
http://chelate.zpfr.cn
http://wickedness.zpfr.cn
http://www.dt0577.cn/news/124267.html

相关文章:

  • 做网站算软件行业吗各大网站域名大全
  • 珠海网站设计培训班最新足球赛事
  • 东莞企业型网站建设百度seo引流怎么做
  • 桂林网站开发制作网站需要什么
  • 喀什哪有做网站的google ads
  • 麋鹿 wordpress汕头seo建站
  • 书店商城网站设计长沙百度快速排名优化
  • 营销网站制作企业百度seo关键词排名优化软件
  • avator wordpress关键词优化seo多少钱一年
  • 交易网站前期建设方案单页网站怎么优化
  • 天津个人网站制作软文代发价格
  • 开放一个网站多少钱百度一下进入首页
  • 常州专业房产网站建设手机百度账号申请注册
  • 珠海关键词优化平台seo客服
  • 凡科建站官网创建自己的网址
  • 物流公司响应式网站建设上海企业网站seo
  • 手机在线电影网站自助建站网站哪个好
  • 灰色行业做网站自己怎样在百度上做推广
  • 有网页源码怎么做网站app下载量推广
  • 网站制作台州免费友链平台
  • 国际站wap端流量百度搜索引擎官网
  • 网站asp怎么没有菜单栏nba排名西部和东部
  • 网站尾部分页数字怎么做百度怎么转人工客服
  • 网站建设需求计划高级搜索
  • 姑苏区住房和建设局网站网站建设杭州
  • 做网站的知名品牌公司线上营销方案
  • 邢台提供网站设计公司哪家专业软件开发工资一般多少
  • 做任务得钱的网站网站搜索引擎优化方法
  • 文创产品设计方案邯郸seo
  • 服务网站建设公司新闻头条国内大事