【问题标题】:Template not getting rendered on django模板未在 Django 上呈现
【发布时间】:2017-06-12 22:56:53
【问题描述】:

views.py 文件:

from django.http import HttpResponse 
from django.template import loader

def index(request):
    template = loader.get_template('upload/testpage.html')
    return HttpResponse(template.render)

app/templates/app/testpage.html 文件:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <input type="file" id="upload" name="upload" style="visibility: hidden; width: 1px; height: 1px" multiple />
    <a href="" onclick="document.getElementById('upload').click(); return false">Upload</a>
</body>
</html>

app/urls.py 文件:

from django.conf.urls import url
from . import views
urlpatterns = [
   url(r'^$', views.index, name='index'),]

项目/urls.py 文件:

from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
   url(r'^admin/', admin.site.urls),
   url(r'^upload/', include('upload.urls')),]

在“TemplateDoesNotExist at /app/”的本地服务器 127.0.0.1:8000/app 上运行文件时出错

如何解决?

【问题讨论】:

  • 您的模板似乎位于“app”文件夹而不是“upload”文件夹中。

标签: python html django


【解决方案1】:

使用您当前的文件路径app/templates/app/testpage.html 这个应该可以工作

def index(request):
    template = loader.get_template('app/testpage.html')
    return HttpResponse(template.render)

另一种方法是将模板路径更改为app/templates/upload/testpage.html

【讨论】:

    【解决方案2】:

    我认为您没有在 templtes 文件夹中创建任何 upload 文件夹。 如果你有 app 这样的文件夹

    app/templates/app/testpage.html

    现在,你可以修复它了

    template = loader.get_template('app/testpage.html')
    

    【讨论】:

      【解决方案3】:

      试试这个,

      from django.shortcuts import render
      
      def index(request):
          return render(request, 'app/testpage.html')
      

      【讨论】:

      • 更新了我的答案
      猜你喜欢
      • 2020-04-24
      • 2019-10-27
      • 2019-08-11
      • 2020-06-15
      • 2018-04-11
      • 2015-04-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多