Je sais que c'est une question simple, désolé. Je veux juste renvoyer une chaîne simple, pas de modèles.
J'ai mon avis:
def myview(request):
return "return this string"
Je ne me souviens pas de la commande. Merci
Selon la documentation :
Une fonction de vue, ou vue courte, est simplement une fonction Python qui prend une requête Web et renvoie une réponse Web.
Chaque fonction de vue est chargée de renvoyer une réponse HttpResponse objet.
En d'autres termes, votre vue devrait renvoyer une HttpResponse
instance:
from Django.http import HttpResponse
def myview(request):
return HttpResponse("return this string")
Vous ne pouvez pas envoyer directement une chaîne, mais vous pouvez envoyer un objet JSON:
from Django.http import JsonResponse
def myview(request):
return JsonResponse({'mystring':"return this string"})
Puis traiter cela. Avec Javascript par exemple si la page a été demandée par AJAX:
$.ajax({url: '/myview/', type: 'GET',
data: data,
success: function(data){
console.log(data.mystring);
...
}
})
https://docs.djangoproject.com/fr/1.11/ref/request-response/#jsonresponse-objects
nous utilisons HttpResponse pour rendre les données
HttpResponse pour rendre le texte
from Django.http import HttpResponse
def Index(request):
return HttpResponse("Hello World")
HttpResponse pour rendre le code HTML
from Django.http import HttpResponse
def Index(request):
text = """<h1>Hello World</h1>"""
return HttpResponse(text)
Si vous créez un chat-bot ou si vous avez besoin de cette réponse après une demande de confirmation après publication, vous devez ajouter un décorateur, sinon, les demandes de publication de bloc Django . Plus d'infos disponibles ici https://docs.djangoproject.com/fr /2.1/ref/csrf/
Aussi, dans mon cas, j'ai dû ajouter content_type = "text/plain".
from Django.views.decorators.csrf import csrf_protect
from Django.http import HttpResponse
@csrf_exempt
def Index(request):
return HttpResponse("Hello World", content_type="text/plain")