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

如何通过Django调用模板方法(2023年的最新饰面)

时间:2023-03-05 19:04:49 网络应用技术

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

  您应该使用

  python django-dmin.py运行

  因为在linux下,django-admin.py是可执行的,因此执行

  在Windows下,尽管Django-Admin.py是一个可执行文件,但Windows默认情况下使用记事本打开此文件。默认情况下,您可能会设置此文件,但我不知道该怎么做。

  在Django项目的开发中,就像普通的Web开发一样,不可能通过“ IMGS/BG.JPG”访问本地静态文件。有必要进行一些配置以实现静态文件访问。

  首先,在项目根路径下创建一个新的静态文件夹,然后在静态文件夹下创建相应的CSS,IMGS,JS和其他文件夹,以存储静态文件,例如CSS,IMG,JS。

  第二,项目配置

  1.打开settings.py并将其添加到底部:

  2.打开urls.py并将其添加到urlpatterns :(注意,如果您还将urls.py设置在博客目录中,则必须在blog/urls.py中进行修改。不要忘记导入设置):

  (但是在测量之后,我可以完成静态文件的访问,而无需添加此文件)

  3.在HTML模板的顶部添加:

  然后以这种格式调用您需要的格式,例如:

  最终重新运行该项目,Django可以找到本地静态文件,例如IMG。目前,可以使用IMG和其他文件显示与模板相对应的页面。

  操作方法如下:

  定义母模板base.html以实现子模板继承的样式,您可以根据继承重写页面的新内容。

  系统的登录。HTML包含一个重定向URL的下一个隐藏域。有这样的行:

  输入type =“隐藏”名称=“ next” value =“ {{next}}” / / /

  登录后,跳到系统默认/帐户/配置文件

  您将值更改为要跳转或重新通过URL的URL的值

  Django模型对快速方法使用多语言支持。此方法通过创建自定义模板标签来实现多语言显示的目的来选择模型中的重复语言字段。

  假设我们有这样的模型。PY,并且某个模型包含多个重复字段。每个重复字段都用于保留其相应的显示语言:

  类myobject(models.model):

  name = models.charfield(max_length = 50)

  title_en = models.charfield(max_length = 50)

  title_es = models.charfield(max_length = 100)

  title_fr = models.charfield(max_length = 100)

  description_en = models.charfield(max_length = 100)

  description_es = models.charfield(max_length = 100)

  Description_fr = Models.Charfield(max_length = 100)

  类myotherobject(models.model):

  name = models.charfield(max_length = 50)

  content_en = models.charfield(max_length = 200)

  content_es = model.charfield(max_length = 200)

  content_fr = model.charfield(max_length = 200)

  请注意,我们将线条和语言代码作为相应字段背后的后缀,将用作语言搜索标记。

  然后,我们添加了一个需要在settings.py中翻译的字段名称:

  translation_fields =('title','description','content')

  将TemplateTags目录添加到项目目录(不要忘记任何家庭__init__.py),并构建lazy_tags.py:

  从django导入模板

  从设置导入translation_fields

  寄存器= template.library()

  类局部content(template.node):

  def __init __(self,model,landaging_code):

  self.model =模型

  self.lang = language_code

  def渲染(自我,上下文):

  模型= template.Resolve_variable(self.model,context)

  lang = template.resolve_variable(self.lang,context)

  对于translation_fields中的f:

  尝试:

  setAttr(型号,F,getAttr(型号,'%s_%s'%(f,lang)))

  除了attributeError:

  经过

  返回 '??'

  @register.tag(name ='get_localized_content')

  def get_lot_localized_content(解析器,令牌):

  bits = list(token.split_contents())

  如果Len(位)!= 3:

  rish template.templatesyntaxerror(“'get_localized_content'标签完全取2个参数”)

  返回局部content(model = bits [1],language_code = bits [2])

  为了在模板中使用自定义标签,我们首先加载:

  {%加载lazy_tags%}

  然后使用自定义标签,传递对象和语言代码,然后进行翻译。例如,西班牙语:

  {%get_localized_content对象'es'%}

  目前,如果没有语言代码可以通过,则不能使用obj.descript来调用某个语言字段。因此,我们与django.core.context_processors.request合作,上下文处理器::

  template_context_processors =(

  Em

  'django.core.context_processors.request',

  治愈

  我们可以在模板中使用它:

  {%get_localized_content oppect.language_code%}

  名称参数可以给出匹配的URL地址。通常用于模板。您也可以使用反向进行页面重定向。

  1.对于应用程序中的书籍中的urls.py(命名为URL)

  2. views.py在应用程序中的书籍中(重定向是重定向方向,反面是将URL的名称解析为URL本身的函数)

  1.名称参数可以给该URL一个合适的名称。通过使用URL的名称,将来在视图或模板中使用此名称,您只需要使用此名称。其原因是防止URL来自更改,这将导致在其他地方使用此URL的位置的更改,但是如果以该名称获取,则不会进行任何更改。

  2.注意:

  1.模板在哪里?

  2.在项目的主要目录中制作模板路径配置;将设置的寺庙目录路径添加到HTML模板的模板目录中。

  注意:反向方法中还可以有夸尔格斯参数。参数直接传递给您要在反面解析后要跳到的URL路径中的捕获参数,以达到传递参数的效果。

  结论:以上是首席执行官注释如何引入Django的全部内容。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。