解决Django1.8之前和Django1.8之后中settings.py配置templates文件夹在app同级目录路径问题

本文介绍了Django 1.8版本之前和之后,在settings.py中配置templates文件夹路径的不同方法。在Django 1.8之前,可以使用TEMPLATE_DIRS设置,而在Django 1.8及以后的版本,应修改'DIRS'来指定app同级目录下的templates文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django1.8之前settings.py配置templates文件夹路径在项目中app同级目录问题:

Django1.8以前框架中,生成的settings.py文件中是不带:
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [ ],
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
],
},
},
]
1.如果自己添上以上的TEMPLATES,就需要把templates文件夹放在里面;
2.如果自己只想把templates文件夹放在app同级目录:可以把上面的TEMPLATES变量改为:
TEMPLATE_DIRS = (os.path.join(BASE_DIR, ‘templates’),)

Django1.8之后的框架中,生成的settings.py中自动生成:

TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [ ],
‘APP_DIRS’: True,
‘OPTIONS’: {
‘conte

<think>好的,我需要回答用户关于Django项目中static文件夹正确放置位置的问题。首先,用户提到他们之前看到的引用是关于模板文件中必须包含{% load wagtailcore_tags %},这可能与静态文件无关,但需要确保在回答时不混淆模板静态文件的处理。 根据Django官方文档,静态文件配置主要涉及STATICFILES_DIRSSTATIC_ROOT。在开发环境中,通常会将每个应用的静态文件放在各自的static目录下,而项目级的静态文件则需要通过STATICFILES_DIRS指定。例如,如果用户有一个项目级的静态文件夹,可能需要将其放在项目根目录下,与templates目录同级。 用户还提到模板的位置,通常模板文件夹也是放在项目根目录或各应用目录下。所以需要建议用户将static文件夹templates同级,或者在项目根目录创建,并在settings.py中正确配置STATICFILES_DIRS。同时,需要提醒用户在生产环境中使用collectstatic命令收集静态文件到STATIC_ROOT指定的目录。 另外,需要检查是否引用了正确的资料。用户提供的引用[1]是关于模板加载标签的,可能与当前问题无关,但引用[2]是关于Ansible的,也不相关。因此,回答时不使用这些引用,而是依据Django的最佳实践。 最后,生成相关问题时要围绕静态文件配置、开发与生产环境的区别、模板静态文件的加载顺序等方面。确保问题有针对性,帮助用户进一步理解相关主题。</think>在Django项目中,静态文件夹(static)的放置位置需遵循以下原则: ### 一、开发环境配置 1. **应用级静态文件**:每个应用目录下建立`static/app_name`子目录存放专属静态文件 ``` myapp/ static/ myapp/ style.css logo.png ``` 2. **项目级静态文件**:在项目根目录创建与`templates`同级的`static`文件夹存放公共静态文件 ``` project_root/ static/ css/ js/ templates/ manage.py ``` 3. **配置`settings.py`**: ```python STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), # 项目级静态目录 ] ``` ### 二、生产环境配置 ```python STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static') # 收集静态文件的目标目录 ``` ### 三、模板引用示例 ```html {% load static %} <link rel="stylesheet" href="{% static 'css/main.css' %}"> ``` ### 四、目录结构示意图 ``` ├── myproject/ │ ├── settings.py ├── myapp/ │ ├── static/ │ │ └── myapp/ │ │ └── custom.css ├── static/ <-- 项目级静态目录 │ ├── css/ │ ├── images/ ├── templates/ └── manage.py ``` [^1]: 引用Django官方文档关于静态文件管理的说明,建议始终使用`{% static %}`模板标签生成静态文件URL。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值