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

如何知道Django的用户名(2023年的最新答案)

时间:2023-03-05 22:09:18 网络应用技术

  简介:许多朋友询问Django如何了解用户名。本文的首席执行官注释将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  与朋友合作一个小项目。我负责前端。他负责背景。目前,他不了解如何做到这一点供用户验证。理解传统的会话和访问令牌。

  访问令牌的方法,我可能了解如何完成前端工作。用户名密码验证通过背景背景以返回令牌。之后,前端路线加HTTP截获了所有请求头,必须将所有请求头都附加到该令牌上。但是背景操作更麻烦。

  前端直接带到用户名,密码和其他参数,以将请求发送到背景。如果您害怕密码安全问题,则可以转到HTTPS或同意解密方法。后端 - 严格验证用户名和密码Matchsession_id的严格验证将cookie设置为前端。

  如果admin模块已打开,则可以转到管理员进行修改。如果您不打开它,则必须编写头版以自己更改它。您去数据库更改它。

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

  ] ,,,,

  },,

  },,

  这是给予的

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

  输入命令行

  python manage.py createSuperuse

  根据提示输入

  切记初始化表。

  django1.7

  python manage.py makemigrations

  python manage.py迁移

  django1.7

  python manage.py syncdb

  结论:以上是Django如何知道如何了解用户名的相关内容所编写的首席CTO注释。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?