当我在 pydriod 3 应用程序上运行 python manage.py runserver 时找不到模板

Posted

技术标签:

【中文标题】当我在 pydriod 3 应用程序上运行 python manage.py runserver 时找不到模板【英文标题】:Template not found when i run python manage.py runserver on pydriod 3 app 【发布时间】:2021-11-08 15:56:27 【问题描述】:

我一直在尝试用我的手机用 django 创建一个博客,到目前为止,它一直是成功的。我昨天正在创建我的主页,当我运行 python manage.py runserver 它返回一个找不到模板的错误。可能是什么问题?

这是我的views.py


from django.shortcuts import render

# Create your views here.
def home(request):
 
       returnrender(request,'newfile.html')

这是我的urls.py

from django.urls import path
from . import views

urlpatterns = [
    
    path('', views.home, name="homepage"),

]

这是我的settings.py


"""

Django settings for myproject project.

Generated by 'django-admin startproject' using Django 3.2.7.

For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""


import os


from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-@o12m78t3=13)@m-o^-ejlp@g!-0gz64fiwx%+raw753+=g2)r'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = 

[

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',

]

MIDDLEWARE = [


    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',


]

ROOT_URLCONF = 'myproject.urls'

TEMPLATES = [


    
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,  'templates')],
        '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】:

首先,您不应该在此处发布您的密钥。

你确实在 def home(request) 中有拼写错误:

returnrender(request,'newfile.html')

如果你的本地项目是正确的:

模板文件的路径是什么? 应该是:myapp/template/myapp/home.html

【讨论】:

以上是关于当我在 pydriod 3 应用程序上运行 python manage.py runserver 时找不到模板的主要内容,如果未能解决你的问题,请参考以下文章

当我在 mac 上安装了 python 3.5 时,终端运行 python 2.7。

如何在我的虚拟环境中使用 Python 3 (3.5) 作为默认解释器?

当我在 GSON(使用枚举)上运行 Proguard 时应用程序崩溃

当我在本地机器上运行或调试 MVC 应用程序时出现空白页

当我在设备上运行程序时,AssetsLibrary 没有获取保存在相机胶卷中的图像

无法在 Python 3.8.0 的命令行上运行 python 文件;它改为调用 python 解释器