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

Django如何将用户名传递到前端(2023年的最新完成)

时间:2023-03-09 13:10:08 网络应用技术

  简介:本文的首席执行官Note将向您介绍Django如何将用户名传递给前端相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  烧瓶是一个非常简单,更漂亮的单文件Python的Web开发框架。Bootstrap是一个强大的工具箱。我没有使用过它,但是我会在有时间(本周)时尝试学习它。应该有一个很好的体验。

  该烧瓶教程可在其官方网站上找到。如果您熟悉Python,您将在10分钟内学习。

  连接MySQL数据库,建议您不使用任何ORM,请直接由MySqllib我自己编写SQL语句,这很简单。当然,如果您的SQL语句不熟悉它持续了几分钟。Python的DBAPI2.0框架非常容易成为Connect,StartCursor,Fetchone的主要命令。

  SQLite3比MySQL简单。连接的时间加文件名,其余的与MySQL相同。

  git管理需要一组环境。在ubuntu之类的Linux下,您只需要安装APT-GEG。有一些使用类似CVS的方法。

  实际上,有一种更简单的方法来实现学生管理。仅安装一组Django,并需要两天的时间来学习其教程。它是在一次呼吸中构建的。直接使用其管理模块,几乎无需开发就可以使用它。

  Django将绘制的图像从PY文件传输到前端,并努力工作。好吧,它看起来像是一个模特,而Azaiso进入了魔法残酷的人。

  特点

  字符形的数据相对容易获得。

  senddata = {“ exportType”:exportType,exportType,

  “ bugids”:bugids,

  “测试”:json.stringify({“ test”:“ test”})

  };

  只需使用exportType = request.get.get.get(“ exportType”)在django的后端

  您可以正常获取此数据。

  注意:Python2.7中的数据由Unicode编码。如果您想使用它,有时您需要转向str

  结果:示例:

  DEBL类型“ Unicode”

  大批

  获取数组类型的数据。如果您使用获得字符串数据的方法,则结果无。我们想使用此方法:

  bugids = request.get.getList(“ bugids []”)

  以这种方式获得的数据是数组类型。

  注意:所获得的数组中的元素是Unicode编码的,并且需要某个点需要该部分

  结果:示例:

  ?通过URL

  [14/JUL/2016 11:00:41]“ get/testtools/exportbug/?exportType = exporttype = explbugids%5b%5d = 102bugids%5D = 101bugids%5D

  ?获得的数据

  [u'102',u'101',u'100',u'99',u'98',u'97',u'96',u'96',u'95',u'94',u'94',u'93',u'92',u'91',u'90',u'89',u'88',u'87'

  典型的

  典型数据可以视为字符串数据。获得相应的字符串后,您可以使用JSON模块将其格式化。

  对于前端,传递字典的典型数据是传递JSON数据,因此使用方法是:

  “测试”:json.stringify({“ test”:“ test”})

  结果:示例:

  {“ test”:“ test”}键入'unicode'

  相关的源代码

  ?获取方法

  GET方法是WSGI中的一种方法。

  def获取(自我):

  #WSGI规格说“ query_string”可能是清晰的。

  raw_query_string = get_bytes_from_wsgi(self.envring,'query_string','')

  返回http.querydict(raw_query_string,encoding = self._encoding)

  最终返回是http.querydict(raw_query_string,encoding = self._encoding)http的原始数据,而QueryDict在MultivalueDics中继承了,因此我们只看了多亚数。

  ?数量化

  实际上,源代码看起来并不困难。

  def get(self,key,default = none):

  ”“”

  返回传递密钥的最后一个数据值。如果键do

  或值是一个空列表,然后默认被拒绝。

  ”“”

  尝试:

  val = self [键]

  除了键:

  返回默认值

  如果值== []:

  返回默认值

  返回阀

  def getList(self,key,default = none):

  ”“”

  返回传递密钥的值列表。如果键不存在,

  然后重新列出默认值。

  ”“”

  尝试:

  返回super(Multivaledict,self).__ getItitItem __(键)

  除了键:

  如果默认为无:

  返回 []

  返回默认值

  def __getItem __(self,key):

  ”“”

  返回该密钥的最后一个数据值,或[]如果是一个空列表;

  如果找不到的话,请提高钥匙扣。

  ”“”

  尝试:

  list_ = super(MultivalueDict,self).__ getItitItem __(键)

  除了键:

  提高MultivaleMedIctKeyError(reter(key))

  尝试:

  返回列表_ [-1]

  除了IndexError:

  返回 []

  有三种方法:1。在模板中的HTML文件中,嵌入包含此功能或直接添加到HTML.2的JS文件中,然后通过JS中的AJAX访问打开链接,例如/admin/url?key = value,然后在admin.py中的url方法中,这样的keyvlaue = request.get.get.get.get('key',none)获取此值

  有时,我们需要一些变量来使用模板模板页面。这些变量在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',

  ] ,,,,

  },,

  },,

  这是给予的

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

  如果是Django的构建 - 模板引擎,

  例如,A类,实例A,A,一个属性名称,

  然后{{a}}是一个实例a,{{a.name}}是命名值

  结论:以上是首席CTO向您提出的Django的全部内容,Django如何将用户名传递到前端。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。