亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 'DIRS':settings.py TEMPLATES 中的 [] 導致

Django 'DIRS':settings.py TEMPLATES 中的 [] 導致

qq_遁去的一_1 2021-07-29 17:54:24
我在 python 3.6 中使用 django 2.1.2 版。我通過 CMD 創建了兩個 django 項目(test01 和 test02)。這兩個項目都在同一個文件夾下。Test01 正常執行,而 test02 引發 TemplateDoesNotExist 錯誤。我找到了后者的解決方案,即在 settings.py 中硬編碼模板的地址:'目錄':[r'C:\django\test02\accounts\templates']但是,即使將此列表保留為空白 [],另一個項目也可以正常運行。兩個項目的結構是一樣的:任何人都可以提出一個建議來解決 test02 中的問題,而無需對 test02 中的模板地址進行硬編碼?
查看完整描述

2 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

您可能會注意到一個名為 的內置 Django 變量BASE_DIR,它代表您的根項目,因此您無需對絕對路徑進行硬編碼。


在設置中添加這個


TEMPLATES = [

    {

        'BACKEND': 'django.template.backends.django.DjangoTemplates',

        'DIRS': [os.path.join(BASE_DIR, 'templates')],

        'APP_DIRS': True,

        'OPTIONS': {

            'context_processors': [

                # codes...

            ],

        },

    },

]

注冊你所有的應用程序,Django 會在templates你提到的文件夾中查找任何文件os.path.join(BASE_DIR, 'templates')


查看完整回答
反對 回復 2021-08-03
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

讓我們在模板中創建一個名為“test01App”的文件夾并在其上創建 base.html。然后你可以調用'test01App/base.html'作為響應。

BACKEND 是 django 的默認值,您必須創建文件夾“模板”。您可以自定義在 DIRS 中其他位置存儲模板的位置。


TEMPLATES = [

{

    'BACKEND': 'django.template.backends.django.DjangoTemplates',

    'DIRS': [os.path.join(BASE_DIR, './cuong')],

    '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',

        ],

    },

},

]


查看完整回答
反對 回復 2021-08-03
  • 2 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號