可重用 Django 应用程序中的基本模板
Base Template in reusable Django App
我想从自定义项目创建一个可重复使用的应用程序。
我想移至可重用应用程序的部分提供整个页面并在顶部使用它:
{% extends "myproject/base.html" %}
现在我不确定要使用什么基本模板。在新的可重用应用程序中,我不想使用 myproject
,因为这是我无法共享的自定义代码。
我试图从伟大的 django 文档中获得帮助,但找不到解决方案 - 如果我是盲人,请原谅我:-)
在可重复使用的应用程序中在这里写什么?
{% extends ??????? %}
您需要将这些模板存储在应用程序文件夹中。
假设您有一个类似于 myproject/myreusableapp
的结构,您将在 myreusableapp 文件夹中创建一个模板文件夹,并将您的 base.html
文件存储在那里。
然后您将扩展该文件 {% extends "myreusableapp/base.html" %}
不幸的是,django 在这里没有提供官方约定。
有一个第三方文档项目为可重用模板定义了这些规则:
https://django-reusable-app-docs.readthedocs.org/en/latest/apps/templates.html
在官方 django 文档中获取约定的问题自 2012 年以来一直处于开放状态:
https://code.djangoproject.com/ticket/19106
这是我的票,与上面的票一样被关闭:
https://code.djangoproject.com/ticket/26501
...希望以后能达成协议
我是这样做的:
\project
|
+-\main
| |
| +-\template
| | |
| | +-\mainapp
| | |
| | +-base.html
| | +-index.html
| | +-...
| |
| +-\static
| |
| +-css
| +-js
| +-pics
| +-...
|
+-\otherapp
|
+-...
其中 main
是用于标准操作(寻呼机、登录...)的应用程序,其中包含基本模板和静态。请注意,模板存储在 main/templates/main/
.
中
在项目 settings.py
中,不要忘记在 STATICFILES_DIRS
.
中注册 main/static
然后您可以使用 {% extends 'main/base.html' %}
进行部署。
我想从自定义项目创建一个可重复使用的应用程序。
我想移至可重用应用程序的部分提供整个页面并在顶部使用它:
{% extends "myproject/base.html" %}
现在我不确定要使用什么基本模板。在新的可重用应用程序中,我不想使用 myproject
,因为这是我无法共享的自定义代码。
我试图从伟大的 django 文档中获得帮助,但找不到解决方案 - 如果我是盲人,请原谅我:-)
在可重复使用的应用程序中在这里写什么?
{% extends ??????? %}
您需要将这些模板存储在应用程序文件夹中。
假设您有一个类似于 myproject/myreusableapp
的结构,您将在 myreusableapp 文件夹中创建一个模板文件夹,并将您的 base.html
文件存储在那里。
然后您将扩展该文件 {% extends "myreusableapp/base.html" %}
不幸的是,django 在这里没有提供官方约定。
有一个第三方文档项目为可重用模板定义了这些规则:
https://django-reusable-app-docs.readthedocs.org/en/latest/apps/templates.html
在官方 django 文档中获取约定的问题自 2012 年以来一直处于开放状态:
https://code.djangoproject.com/ticket/19106
这是我的票,与上面的票一样被关闭:
https://code.djangoproject.com/ticket/26501
...希望以后能达成协议
我是这样做的:
\project
|
+-\main
| |
| +-\template
| | |
| | +-\mainapp
| | |
| | +-base.html
| | +-index.html
| | +-...
| |
| +-\static
| |
| +-css
| +-js
| +-pics
| +-...
|
+-\otherapp
|
+-...
其中 main
是用于标准操作(寻呼机、登录...)的应用程序,其中包含基本模板和静态。请注意,模板存储在 main/templates/main/
.
在项目 settings.py
中,不要忘记在 STATICFILES_DIRS
.
main/static
然后您可以使用 {% extends 'main/base.html' %}
进行部署。