【问题标题】:TemplateDoesNotExist at / index.html DjangoTemplateDoesNotExist at / index.html Django
【发布时间】:2020-12-17 10:29:49
【问题描述】:

我在创建模板时正在学习 django,所以出错了

this is the error i got

urls.py

urlpatterns = [
    url(r'^$',views.index,name='index'),
    url(r'^first_app/',include('first_app.urls')),
    url(r'^admin/', admin.site.urls),
]

settings.py

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
TEMPLATE_DIR = os.path.join(BASE_DIR, "templates")
STATIC_DIR = os.path.join(BASE_DIR, "static")

【问题讨论】:

    标签: python django django-models django-templates


    【解决方案1】:

    对我来说它正在工作,我在 ubuntu 18.4 中使用 django 3.2

    @@ 在模板部分

    'DIRS':[“模板”],

    @@在静态部分添加第二行

    STATIC_URL = '/static/'

    STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

    【讨论】:

    • 谢谢,这解决了我的问题:'DIRS': ["templates"], 但如何?以前 django 为我的所有应用程序工作。但它停止识别我的新应用程序中的模板。这个解决方案解决了我的问题,但有兴趣了解他的根本原因以及它是如何解决的。
    【解决方案2】:

    由于您是 django 的新手,并且可能遵循较旧的教程,因此对于 django 版本 > 2.0 有更好的可读性 url 路由语法。您将使用 path() 而不是 url()。查看官方文档 (https://docs.djangoproject.com/en/3.1/releases/2.0/)。

    您的错误发生是因为您试图在您的项目文件夹中而不是在您的应用程序文件夹中为您的视图设置 url 路由。这意味着您需要将索引路由移动到应用文件夹中的 urls.py 文件中。

    在 urls.py 下的项目文件夹中:

    urlpatterns = [
        path('first_app', include('first_app.urls')),
        path('admin/', admin.site.urls),
    ]
    

    在 urls.py 下的应用文件夹中:

    urlpatterns = [
       path('index', views.index, name='index')
    ]
    

    注意:你的 index.html 在下面 .../first_app/index

    【讨论】:

      猜你喜欢
      • 2015-03-01
      • 2016-08-27
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 2016-12-07
      • 2019-08-21
      • 1970-01-01
      • 2017-09-03
      相关资源
      最近更新 更多