【问题标题】:Django template doesn't load anything (blank screen)Django 模板不加载任何东西(空白屏幕)
【发布时间】:2016-01-20 11:57:51
【问题描述】:

已解决,我真的很抱歉这是一个初学者的错误...问题出在我的 _layouts/base.html 中,它没有呈现因为它错过了 中的 HTML >

您可以在 pastebin 链接中查看 _layout/base.html

我爬遍了整个互联网,但仍然找不到我做错了什么,这是我的代码: Views.py:

from django.shortcuts import render
from django.views import generic
from django.views.generic import TemplateView   
from django.http import HttpResponse
# Create your views here.

def home_page(request):
    return HttpResponse('hello')

class HomePageView(generic.TemplateView):
    template_name = 'home.html'

class HomePageView2(TemplateView):
    template_name = 'home.html'

urls.py:

from django.conf.urls import url
from django.contrib import admin
from app1.views import *
#from django.shortcuts import render
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^$',HomePageView.as_view(), name = 'home.html'),
    url(r'^1/$',HomePageView2.as_view(template_name="home.html")),
    url(r'^admin/', admin.site.urls),
    url(r'^nn/$', home_page )
]

home.html:

{% extends '_layouts/base.html' %}

{% block headline %}<h1>Welcome to the PyCon Survival Guide</h1>{% endblock  %}

{% block content %}
<p>Howdy {% if user.is_authenticated %} {{ user.username }}{% endif %} </p>
{% endblock %}

我的 _layouts/base.html : http://pastebin.com/LVHbduqm

HomePageViewHomePageView2 都不会呈现我的模板!

settings.py 和我的文件夹树: settings.py and my folder tree

附注: Example of blank screen

【问题讨论】:

  • 如果您在浏览器中打开网络选项卡,是否会显示任何错误代码,例如 400 或 500?
  • 它显示状态 200。在 CMD 中是这样的:GET / HTTP/1.1" 200 0
  • 你可以调试视图con pdb并手动启动manage.py运行服务器并检查它是否命中api视图?
  • 嗯,对不起,我还是个初学者,不知道该怎么做!
  • 我看到你解决了问题。我无法阅读 pastebin 链接,但最好使用 {} 按钮将代码插入您的问题,或者每行缩进 4 个字符。为什么不在答案中显示您所做的更改,并将其标记为已接受 - 未来的提问者将能够参考您的解决方案。

标签: python django model-view-controller web


【解决方案1】:

我知道这样问可能看起来很傻,但是您的 home.html 是什么样的?

如果您返回 200,但没有渲染,可能您的 home.html 为空白?

【讨论】:

    【解决方案2】:

    这与您使用的方法略有不同,但是

    views.py

    class HomePageView(generic.TemplateView):
        template_name = 'home.html'
    

    变成

    def home_page_view(request):
        return render(request, 'home.html')
    

    urls.py

    url(r'^$',HomePageView.as_view(), name = 'home.html'),
    

    变成

    url(r'^$', home_page_view, name = 'home'),
    

    【讨论】:

    • 嘿...我以前也试过这个,它也不起作用,也不明白为什么:( ...它也呈现一个空白屏幕...跨度>
    • 在您的settings.py 中写入print BASE_DIR 并粘贴运行./manage.py runserver 时输出的内容
    • D:\Virtualenv\pycon\site\src
    • 出了什么问题?值得写下实际修复它的内容并将其写为您自己的答案,而不是在没有修复它的情况下将我的标记为答案。不过,很高兴它已修复!
    猜你喜欢
    • 1970-01-01
    • 2021-05-08
    • 2017-06-03
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2015-05-02
    相关资源
    最近更新 更多