Vraag django: retourneer tekenreeks uit het zicht


Ik weet dat dit een eenvoudige vraag is, sorry. Ik wil gewoon een eenvoudige string retourneren, geen sjablonen.

Ik heb mijn mening:

def myview(request):
    return "return this string"

Ik herinner me het commando niet. Bedankt


36
2017-07-18 03:59


oorsprong


antwoorden:


Volgens de documentatie:

Een weergavefunctie, of kort overzicht, is gewoon een Python-functie die   neemt een webverzoek en retourneert een webreactie.

Elke kijkfunctie is verantwoordelijk voor het retourneren van een HttpResponse   voorwerp.

Met andere woorden, uw mening zou moeten terugkeren a HttpResponse aanleg:

from django.http import HttpResponse

def myview(request):
    return HttpResponse("return this string")

65
2017-07-18 04:01



we gebruiken HttpResponse om de gegevens weer te geven

HttpResponse om de tekst weer te geven

from django.http import HttpResponse
def Index(request):
    return HttpResponse("Hello World)

HttpResponse om de HTML te renderen

from django.http import HttpResponse
    def Index(request):
        text = """<h1>Hello World</h1>"""
        return HttpResponse(text)    

3
2017-09-29 06:26



U kunt niet rechtstreeks een tekenreeks verzenden, maar u kunt een JSON-object verzenden:

from django.http import JsonResponse

def myview(request):
    return JsonResponse({'mystring':"return this string"})

Verwerk dat dan. Met Javascript bijvoorbeeld als de pagina werd aangevraagd door AJAX:

$.ajax({url: '/myview/',    type: 'GET',
                            data: data,
                            success: function(data){ 
                                console.log(data.mystring);
                                ...
                                 }
                            })

https://docs.djangoproject.com/en/1.11/ref/request-response/#jsonresponse-objects


3
2017-08-25 19:59