Django自定义应用程序模板:如何使用应用程序名称创建目录?

时间:2017-05-28 07:20:08

标签: python django templates

当调用startapp时运行的标准Django应用程序模板会创建以下文件和目录:

<app_name>
 |-- migrations
 |    |
 |    +-- __init__.py
 |
 |-- __init__.py
 |-- admin.py
 |-- apps.py
 |-- models.py
 |-- test.py
 |-- views.py

我想创建一个自定义模板,用于生成以下应用结构:

<app_name>
 |-- migrations
 |    |
 |    +-- __init__.py
 |
 |-- static
 |    |
 |    |-- <app_name>
 |          |
 |          |-- css
 |          |-- img
 |          |-- js 
 |
 |-- templates
 |    |
 |    |-- <app_name>
 |          |
 |          |-- index.html
 |
 |-- __init__.py
 |-- admin.py
 |-- apps.py
 |-- models.py
 |-- test.py
 |-- views.py

我缺少的技巧是如何设置模板,以便使用应用程序名称命名某些目录。这对模板文件中的参数很容易,但我不确定是否有办法在statictemplate下创建目录。

去查看startapp源代码以获取线索。希望有人可能会对此有一个答案。

感谢。

2 个答案:

答案 0 :(得分:0)

在主目录中添加名为templates的文件夹,即与app文件夹相同的目录。更新settings.py的DIRS变量中TEMPLATES的路径 现在django在模板目录中查找模板。您还可以在模板文件夹中添加特定于应用程序的文件夹,并在呈现时使用'myapp/template_name'

对于静态更新settings.py中的变量STATIC_URL(如果它不存在则添加)。例如:STATIC_URL = '/static/',它在当前目录中查找名为static的文件夹,该文件夹用于特定应用程序。在模板中使用{% load static %}。然后,您可以将href = "{% static 'file_name' %}".

链接到静态文件夹

答案 1 :(得分:0)

只需命名文件夹app_name,它将被命名为您的应用名称:

app_name/somemodule.py-tpl

将是:

yourappname/somemodule.py