当调用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
我缺少的技巧是如何设置模板,以便使用应用程序名称命名某些目录。这对模板文件中的参数很容易,但我不确定是否有办法在static
和template
下创建目录。
去查看startapp
源代码以获取线索。希望有人可能会对此有一个答案。
感谢。
答案 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