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

Django如何从管理员那里获取信息?

时间:2023-03-06 02:26:49 网络应用技术

  简介:今天,首席执行官注意到与您分享Django如何获取有关管理员信息的信息。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  这不能在模型中完成。您可以看一下Django的会议。大约用法如下

  #保存会议

  request.session [user.id] = 1

  #get session

  login_counter = request.session [user.id]

  #DELETE会话

  request.session [user.id]

  希望它能帮助您

  Django获取登录用户的手段是请求。

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

  操作方法:首先,运行python manage.py创建useperuser命令以创建一个管理员帐户。

  然后在URL中输入/管理员以到达管理员登录页面。登录后,您会发现由于我们尚未注册,因此数据库中没有任何项目可显示。

  接下来,我们注册管理中管理的数据模型;在Admin.py中注册模型。然后刷新页面,您可以看到ContoryMessage的数据表,可以添加和删除以简单添加,删除和更改。

  摘要:输入项目路径:python manage.py createSuperuser根据提示输入相应的用户名,邮箱和密码

  输入项目路径:

  python manage.py createSuperuse

  根据提示输入相应的用户名,邮箱和密码

  以上是Django创建超级管理员的内容。

  1. Django管理员不适合最终用户使用

  Django管理员是为管理员而不是最终用户设计的。Django管理员的存在是为了促进管理员添加修改并删除数据和管理站点任务。

  2.列表显示

  如上图所示,由于模型的默认文本是XXX对象,因此“管理员列表”页面中的默认显示也是XXX对象。如果要显示更多有用的信息,我们可以设置以下设置:

  为模型编写__unicode __()方法

  如果要在列表页面中显示更多项目,则需要使用list_display

  __unicode()__示例:

  #models.py

  来自django.db导入模型

  班级文章(Models.Model):

  title = models.charfield(max_length = 100)

  slug = model.charfield(max_length = 100)

  content = model.textfield()

  is_publy = model.boolenfield(默认= false)

  def __unicode __(self):

  返回self.title

  #admin.py

  来自django.contrib导入管理

  从.models导入文章

  admin.Site.Register(文章)

  结果:

  如果要显示其他项目:

  #admin.py

  来自django.contrib导入管理

  从.models导入文章

  类articleadmin(admin.modeladmin):

  list_display =('title','iS_perlished')

  Admin.Site.Register(文章,Articleadmin)

  结果:

  3.将动作添加到ModelAdmin

  我们可以将方法或函数添加到modladmin中,以使管理接口更符合我们的需求。

  例如,我们希望在管理接口中显示一个清晰的URL,但是当我们在模型中定义get_absolute_url()方法时,django admin给了我们一个完全不同的URL。SOWE可以通过以下方法定义URL:

  #admin.py

  来自django.contrib导入管理

  从django.core.urlresolvers导入反向

  来自django.utils.html导入format_html

  从.models导入文章

  类articleadmin(admin.modeladmin):

  list_display =('title','iS_perbored',),),),)

  readonly_fields =('show_url',)

  def show_url(self,实例):

  url = reververs('trict_detail',kwargs = {'pl':instance.pk})

  响应= format_html(“”“ a href =” https://www.shouxicto.com/article/ {0}“文章preview/a”“”,url)

  返回响应

  show_url.short_descripting = u“文章预览”

  #显示html标签

  #对于用户提交的数据,切勿这样设置!

  show_url.allow_tags = true

  请注意,如果错误使用会带来隐藏的安全危害,则允许_tags属性,默认值为false。如果设置为true,

  在管理员中允许使用HTML标签。因此,我们使用的原则是,对于用户输入的信息,切勿设置laster_tags = true。

  只有在系统生成内容而用户无法修改的内容时,他们才能使用ally_tags = true。

  4.在多用户编辑器环境中使用list_edistable

  Django管理员为我们提供了修改列表页面上的模型属性的功能,以便管理员一次可以修改多个属性。如果管理员只有一个人

  然后没有问题,但是在多用户环境中,会有一个严重的潜在问题。因为在列表页面上提交的修改信息记录了位置,而不是模型的主要密钥。

  例如,默认情况下,“文章列表”页面在创建顺序中安排了默认值。用户A打开文章列表页面并开始修改。同时,用户B添加了新文章。目前,此时,此时,此时,此时

  用户A提交修改后,文章信息将是错误的。

  结论:以上是Django如何获得首席CTO注释汇编的管理员信息信息的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?