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

如何使用django-admin(2023年的最新答案)

时间:2023-03-08 19:43:50 网络应用技术

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

  解决方案!:也就是说,您没有环境变量。安装Django后,您需要配置环境变量以使用命令:django-admin.py startProject Engineering name.pythonallpython-2.7libsite-packagesdjango-1.7.6-py2.7.egggdjangobin有不同的学科,请检查自己。

  Django表单易于使用且易于扩展。因此,Django管理员和CBV基本上基于形式。实际上,由于Django形式的强大验证函数,大多数Django API框架被用作其验证的一部分。

  尽管对Django表格的研究需要一点时间,如果形式,模型和视图结合在一起,我们几乎没有花费很少的经验来完成巨大的工作。

  1. Django形式很强大

  一些Django项目不会直接呈现HTML。第二个是API框架的形式,但您可能不会期望Django形成。Django形式不仅用于以这些API形式呈现HTML。最强的位置应该是其验证能力。让我们介绍几种与Django形式结合的模式:

  2.模型1:ModelTelt和默认验证

  最简单的模式是Modelform和Model中定义的默认验证方法的组合:

  #myApp/views.py

  来自django.views.gneric import createview,updateView

  从括号。视图导入loginrequiredmixin

  从.models导入文章

  类ArticleCreateAteview(LoginRequiredMixin,CreateView):

  型号=文章

  fields =('title','slug','review_num')

  class ArticleUpDateView(LoginRequiredMixin,UpdateView):

  型号=文章

  fields =('title','slug','review_num')

  如您在上面的代码中所见:

  ARTICLECREATEATEVIEW和ARTICEUPDATEVIEW设置模型作为文章

  两者都可以根据文章模型自动生成模态

  这些模型的验证基于文章模型中定义的字段转换

  3.模式2,修改和验证模型

  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提交修改后,文章信息将是错误的。

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

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

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

  结论:以上是首席CTO的所有内容,都注明了如何将Django-Admin用于每个人。感谢您阅读本网站的内容。我希望这对您有帮助。有关如何使用django-admin的更多信息,请在此站点上找到它。