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

如何获取用户的组名称(Django自定义用户)

时间:2023-03-07 03:10:46 网络应用技术

  本文将告诉您Django如何获取用户的组名称,Django自定义用户的相应知识点。我希望这对您有帮助。不要忘记收集此网站。

  本文目录清单:

  1.如何获取Django表单以获取登录用户2.关于Django的问题获取当前登录用户ID 3.如何在django1.4in django模型中获取当前用户组中的组中的登录用户是请求。

  如果要传递到表单字段,则可以首先执行模型对象实例,将request.user传递到对象实例的相关字段,然后将此实例传递到corms实例。

  Django的方法是定义指向Artivle中用户的外部密钥,以便您不需要获取用户ID,也不需要将用户对象直接分配给外部密钥属性。

  这在模型中不可用。您可以看一下Django的会议。大约用法如下#save sessionRequest.Session [user.id] = 1#获取sessionlogin_counter = request.session [user.id] #delete sessionrquest.sesess. [user.id]我希望帮助您帮助您

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

  ] ,,,,

  },,

  },,

  这是给予的

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

  您可以在组用户中使用$ c属性。

  来自django.contrib.auth .models导入用户,组

  group = group(name =“编辑器”)

  group.save()#se此示例保存此新组

  user = user.objects .get(pk = 1)#假设初始用户

  user.groups.add(group)#user现在在“编辑器”组中

  然后user.groups.all()返回[group:editor;]

  让我们谈谈Django如何获取用户的组名称。感谢您花时间阅读本网站的内容。有关Django自定义用户和Django如何获取用户的组名称的更多信息,请不要忘记在此站点上找到它