2017-01-22 6 views
2

Derzeit wird eine Django-Webanwendung auf Azure eingerichtet, die lokal über Git bereitgestellt wird. Ich habe eigentlich keinen Code noch geschrieben, und als ich den EntwicklungsserverDjango TypeError at/render() hat ein unerwartetes Schlüsselwort argument 'context_instance'

python3 manage.py runserver 

und gehe mit Start-up an die Adresse der Website ich die folgende Fehlermeldung erhalten:

TypeError at/
render() got an unexpected keyword argument 'context_instance' 

Es ist zu Ansichten verfolgt. py, die folgenden Inhalt hat:

""" 
Definition of views. 
""" 

from django.shortcuts import render 
from django.http import HttpRequest 
from django.template import RequestContext 
from datetime import datetime 

def home(request): 
    """Renders the home page.""" 
    assert isinstance(request, HttpRequest) 
    return render(
     request, 
     'app/index.html', 
     context_instance = RequestContext(request, 
     { 
      'title':'Home Page', 
      'year':datetime.now().year, 
     }) 
    ) 

def contact(request): 
    """Renders the contact page.""" 
    assert isinstance(request, HttpRequest) 
    return render(
     request, 
     'app/contact.html', 
     context_instance = RequestContext(request, 
     { 
      'title':'Contact', 
      'message':'Your contact page.', 
      'year':datetime.now().year, 
     }) 
    ) 

def about(request): 
    """Renders the about page.""" 
    assert isinstance(request, HttpRequest) 
    return render(
     request, 
     'app/about.html', 
     context_instance = RequestContext(request, 
     { 
      'title':'About', 
      'message':'Your application description page.', 
      'year':datetime.now().year, 
     }) 
    ) 

ich bin nicht sicher, was der Fehler ist, da der Code erzeugt wurde, wenn die App im Azure erstellt wurde. Soweit ich das anhand der Dokumentation feststellen kann, sind die Parameter für render() korrekt.

Antwort

3

django.shortcuts.render 's dritter Parameter ist context, nicht context_instance; Sie sollten context_instance= durch context= ersetzen (oder Sie können es als Positionsargument übergeben). Übergeben Sie zusätzlich ein Wörterbuch.

return render(
    request, 
    'app/index.html', 
    { 
     'title':'Home Page', 
     'year':datetime.now().year, 
    } 
) 
Verwandte Themen