Ich bin derzeit eine Homepage für Django erstellen versucht, aber wenn ich es testen, es zeigt mir nur eine leere Seite mit nichts drauf. Das habe ich bisher. Erstens ist meine URL Seite von mysite:Homepage in Django funktioniert nicht
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')),
]
und meine url Seite von firstapp:
from django.conf.urls import url
from firstapp.views import HomePage
urlpatterns = [
url(r'^$', HomePage.as_view(), name='home'),
]
diese meine Ansichten Seite lautet:
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)
dies der base.html ist, die sich to home.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>
Und endlich home.html selbst.
Nun, wenn es funktioniert, sollte ich sehen "Testing Home" ... aber ... ich sehe nichts. Ich bekomme nur eine leere weiße Seite. Irgendeine Idee, warum das passiert?
Es gibt keinen Block in Ihrer Basisvorlage definiert. –
Ihre 'template_name' Ihrer Ansicht nach wird in ein Unterverzeichnis zeigt, stellen Sie sicher, dass Sie das' home' Verzeichnis im –
Hinweis Vorlagenordner erstellt haben, dass 'Haus()' Methode in Ihrer Ansicht wird nie aufgerufen. Du brauchst es trotzdem nicht; Das Rendern der Vorlage ist die Standardaktion einer TemplateView. Sie sollten diese Methode entfernen. –