当前位置: 首页 > 网络应用技术

Django如何将查看数据传输到页面(2023年的最新答案)

时间:2023-03-06 01:51:15 网络应用技术

  指南:今天,首席CTO Note将与您分享Django如何将视图数据传输到页面。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  在Django中,有两种编辑Views.py的方法,一个是基于类实现的方法,另一种是功能实现方法。两种方法都可以使用。

  REST框架提供了一个Apiview类,该类是Django视图类的子类。

  视图是Django的默认视图基类。Apiview是REST框架提供的所有视图的基类。继承了Django的观点,扩展了Django的视图,并对认证,授权,当前限制和不同的请求数据分析进行分析。

  A。统一使用请求对象.DATA属性获得JSON格式的参数,表单参数,文件

  B.使用请求对象.query_params获取查询字符串参数

  C,Django支持参数采集方法,DRF支持所有DRF

  A。扩展django中的httpresponse

  b。在请求头中实现接受参数以动态返回

  C。默认情况下,如果未传递接受参数或参数为application/json,则JSON格式的数据将返回到JSON格式

  d。如果接受参数为文本/html,则可以返回的API页面(HTML页面)可以返回

  E.Response的第一个参数是序列化后的数据(通常需要使用serializer object.data)

  F.Status指定响应状态代码

  首先使用Django的视图在卡表中获取卡号信息::

  模型。设计卡表

  Views.py视图写作

  urls.py设置访问地址

  REST框架的Apiview继承了Django视图类,并且卡类已序列化。Modelialializer在REST_FRAMEWORK中使用了此处的序列化

  配置urls.py,设置访问地址

  Django本身与Ajax无关。

  但是,由于Django包含一个模板系统,因此您可以简单地将其理解为前端页面。在这些模板中,当您使用HTML中的POST方法作为前端工程师在HTML中编写页面。

  Django可以通过视图中的request.post.get(“ xxx”)的方法接收Ajax传递的数据。

  此外,Ajax的帖子需要注意CSRF的安全性。Django正式有一个现成的解决方案。在官方文档中找到代码,并将其粘贴到JS。

  更多内容可以关注我的博客。

  有时,我们需要一些变量来使用模板模板页面。这些变量在views.py.py.py.py.the.cy中没有返回设置。例如,以下代码:

  #编码:UTF-8

  从django.shortcuts导入渲染

  DEF索引(请求):

  上下文= {}

  上下文['title'] ='测试标题'

  返回渲染(请求,'index.html',上下文)

  以上是views.py.t的方法之一。如下:

  html

  头/头

  身体

  H3 {title}}/H3

  p是否登录:{{request.user.is_authenticated}/p

  /身体

  /html

  除标题变量值外,响应结果还具有是否登录。登录信息来自请求变量。问题在于,请求变量未写入views.py.pys.pys.py的上下文中,并且模板不必获取变量。

  当时这并不是一无所有。我逐步进行分析。解释原理后,您自然了解如何设置模板的全局变量或默认变量。

  渲染方法是render_to_response的简短方法。上面的views.py代码等同于以下内容:

  #编码:UTF-8

  来自django.shortcuts导入render_to_response

  来自django.template导入requestContext

  DEF索引(请求):

  上下文= {}

  上下文['title'] ='测试标题'

  返回render_to_response('index.html',context,requestContext(request))

  如果删除了render_to_response的第三个参数,则requestContext(请求)部分。

  index.html模板页面的值无法获得{{request.user.is_authenticatiencation}},也就是说,没有请求变量传递到首页。很明显requestContext至关重要。

  RequestContext的内容可从官方Django文档中找到。

  此类将分析设置模板设置中的Context_Processors配置。新的Django Project settings.py文件中的默认模板设置如下:

  模板= [

  {{{

  '后端':'django.template.backends.django.djangotemplates',

  'dirs':[],

  'app_dirs':是的,

  '选项': {

  'Context_Processors':[

  'django.template.context_processors.debug',

  'django.template.context_processors.request',

  'django.contrib.auth.context_processors.auth',

  'django.contrib.messages.context_processors.messages',,

  ] ,,,,

  },,

  },,

  这是给予的

  每个人都可以发现Context_Processors具有一系列设置,其中Django的源代码是根据Django.template.context_processors.request找到的。

  Django安装在Python安装目录中的LIB/SITE包装/目录中。查找django/template/context_processors.py文件。打开它时,您可以看到请求方法:

  DEF请求(请求):

  返回{'请求':请求}

  此方法返回字典,键是请求,而值是请求对象。显然,渲染中的请求对象是通过在设置中加载context_processors list方法来获取字典项目。

  我们还可以使用此方法为Django项目设置一个全局模板变量。例如,我的Django名称是myProject,并在myproject/myproject目录中创建Contexts.py文件。代码如下:

  #编码:UTF-8

  来自django.conf导入设置

  #置

  def lang(请求):

  返回{'lang':settings.language_code}

  该文件的方法需要请求参数,最后您需要返回字典。

  再次打开settings.py文件,添加刚刚用模板编写的方法:

  模板= [

  {{{

  '后端':'django.template.backends.django.djangotemplates',

  'dirs':[],

  'app_dirs':是的,

  '选项': {

  'Context_Processors':[

  'django.template.context_processors.debug',

  'django.template.context_processors.request',

  'django.contrib.auth.context_processors.auth',

  'django.contrib.messages.context_processors.messages',,

  #customized模板全局变量(默认变量)

  'myproject.contexts.lang',

  ] ,,,,

  },,

  },,

  这是给予的

  添加全局变量后,我们可以使用该变量,而无需在任何位置上手动编写相关代码以渲染模板页面。

  例如:数据库具有一个用户表,它具有名称和年龄字段,需要在页面上显示

  #.py

  DEF测试(请求):

  #从数据库中检查数据

  user = user.objects.get(id = 1)

  返回render_to_response('test.html',{'user':user},context_instance = requestContext(request))

  #.html

  ... ... ...

  名称:{user.name}}

  年龄:{user.age}}

  ... ... ...

  1. AJAX封装在模板中的jQuery插头中。我使用get请求,其中涉及在django中使用模板和静态文件。

  2.然后配置路由,因为我们在AJAX中请求的路由地址是GetData,因此我们还必须在Django路由中设计此路由URL,并使用视图功能来处理路由。

  3.然后使用视图函数处理相应的路由URL请求,然后导入方法jsonresponse,然后我自定义字符串,然后使用键值返回到字典表单。JSONRESPONSE方法,否则将无法获得JSON格式的数据。

  4. GET请求中的数据参数是背景返回的数据,但是此数据为JSON格式,因此我们可以使用数据。密钥名称(仅定义U仅定义),以便可以删除数据。

  5.运行Django服务器后,单击按钮开始请求数据,然后弹出数据。您可以看到数据与后台定义的数据完全相同。

  首先,您需要知道如何在视图中渲染模板,这取决于您使用的数据库以及是否使用django orm。

  以MySQL为例。如果您只需要从现有数据库中查询数据,则可以使用MySQLDB模块。查询数据和模板用于渲染,然后在渲染后返回到模板对象。

  结论:以上是首席CTO的全部内容指出有关Django如何将数据传输到页面的全部内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住要收集对该网站的关注。