سؤال

أحصل على الخطأ التالي:

Template error

In template /home/mo/python/django/templates/yoga/index.html, error at line 1
Caught TemplateDoesNotExist while rendering: base.html
1 {% extends "base.html" %}
2 
3 {% block main %}
4     <p>{{ page.title }}</p>
5     <p>{{ page.info}}</p>
6     <a href="method/">Method</a>
7 {% endblock %}
8 

هذا هو ملف my base.html ، الذي يقع في نفس المكان مثل index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <div style="width:50%; marginleft:25%;">
    {% block main %}{% endblock %}
    </div>

ماذا يحدث بالضبط هنا؟ هل يجب أن يكون ملف base.html موجودًا في مكان آخر؟

هل كانت مفيدة؟

المحلول

"في نفس المكان" مثل yoga/index.html يعني أن القالب هو في الواقع yoga/base.html.

نصائح أخرى

على افتراض template_dirs يحتوي على /home/mo/python/django/templates/, ، بدون ال .../yoga/, ، لذلك تحتاج إلى:

يتحرك base.html داخل /home/mo/python/django/templates/

أو

اكتب {% extends "yoga/base.html" %} في القالب الخاص بك

هل base.html في دليل في قائمة template_dirs في ملف الإعدادات الخاص بك؟

base.html يجب أن يكون الملف موجودًا في قاعدة مجلد القوالب لاستخدام "base.html" ، إذا كان موجودًا في مجلد آخر مثل: templates / home / base.html ، ثم يجب عليك تحديد المسار باستخدام

{ % Extends ' home / base.html '% }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top