'str' object n'a pas d'attribut 'META'
J'obtiens l'erreur:
'str' object has no attribute 'META'
Le Traceback faits saillants de ce morceau de code:
return render('login.html', c)
Où ce bout de code est dans mon views.py:
from django.shortcuts import render
from django.http import HttpResponseRedirect # allows us to redirect the browser to a difference URL
from django.contrib import auth # checks username and password handles login and log outs
from django.core.context_processors import csrf # csrf - cross site request forgery.
def login(request):
c = {}
c.update(csrf(request))
return render('login.html', c)
C'est ce que mon modèle ressemble:
{% extends "base.html"%}
{% block content %}
{% if form.errors %}
<p class = 'error'>Sorry, that's not a valid username or password</p>
{% endif %}
<form action = '/accounts/auth/' method = 'post'> {% csrf_token %}
<label for = 'username'>User name: </label>
<input type = 'text' name = 'username' value = '' id = 'username'>
<label for = 'password'>Password: </label>
<input type = 'password' name = 'password' value = '' id = 'password'>
<input type = 'submit' value = 'login'>
</form>
{% endblock %}
Je suppose que je pourrais utiliser render()
incorrectement, mais dans les docs, je pense que je suis en train de monter dans les paramètres corrects.
https://docs.djangoproject.com/en/dev/topics/http/shortcuts/
OriginalL'auteur Liondancer | 2013-11-18
Vous devez vous connecter pour publier un commentaire.
Premier paramètre à
render()
estrequest
objet, afin de mettre à jour votre ligne deIl est en train de se référer
request.META
, mais vous êtes de passage à'login.html'
chaîne, d'où l'erreur.Merci. Dans mon cas, j'ai mis des guillemets autour de la demande, duh!
return render('request', "gameplay/game_detail.html", {'game': game})
OriginalL'auteur Rohan