Python Django的主页是';行不通

Python Django的主页是';行不通,python,html,django,Python,Html,Django,我目前正试图为Django创建一个主页,但当我测试它时,它只显示一个空白页面,上面什么也没有。这就是我目前所拥有的。首先是mysite中的我的URL页面: from django.conf.urls import url, include from django.contrib import admin from django.conf import settings from django.conf.urls.static import static urlpatterns = [

我目前正试图为Django创建一个主页,但当我测试它时,它只显示一个空白页面,上面什么也没有。这就是我目前所拥有的。首先是mysite中的我的URL页面:

from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'',include('firstapp.urls')),
]
和firstapp中的我的url页面:

from django.conf.urls import url
from firstapp.views import HomePage

urlpatterns = [
    url(r'^$', HomePage.as_view(), name='home'),
]
这是我的浏览页面:

from django.shortcuts import render
from django.views.generic import TemplateView

class HomePage(TemplateView):
    template_name = 'home/home.html'

    def home(request):
        return render(request, self.template_name)
这是扩展到home.html的base.html

{% load staticfiles %}

<!DOCTYPE html>
<html>
    <head>
<meta charset="UTF-8">
<title>Home</title>
<link rel='stylesheet' href='{% static "css/base.css" %}'/>
    </head>
<html>
<p>{{ variable }}</p>
<script src= '{% static "js/base.js" %}'></script>
</body>
</html>
{%load staticfiles%}
家
{{variable}}

最后是home.html本身

{% extends 'base.html' %}

{% block body %}

<div class="container">
<p>Testing Home</p>
</div>

{% endblock %}
{%extends'base.html%}
{%block body%}
测试之家

{%endblock%}

现在如果它起作用,我应该看到“测试之家”…但是…我什么也看不到。我只是得到一张空白的白纸。知道为什么会发生这种情况吗?

您的
base.html
中没有定义
{%block body%}
。您需要在要扩展的模板中定义块,否则在扩展的模板中将没有任何可替代的内容

base.html

<html>
  <body>
    <p>{{ variable }}</p>

    {% block body %}{% endblock %}

    <script src= '{% static "js/base.js" %}'></script>
  </body>
</html>

{{variable}}

{%block body%}{%endblock%}

注意:我还修复了您的开头
标记,该标记被错误地用作
,在模板中留下了两个
开头标记。

基本模板中没有定义块。视图中的
模板名
指向子目录,确保您已经在模板文件夹中创建了
home
目录注意,视图中的
home()
方法永远不会被调用。反正你也不需要它;呈现模板是TemplateView的默认操作。您应该删除该方法。