本文将告诉您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如何获取用户的组名称的更多信息,请不要忘记在此站点上找到它