2014-07-18 97 views
31

我知道這是一個簡單的問題,對不起。我只想返回一個簡單的字符串,沒有模板。django:從視圖返回字符串

我有我的觀點:

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

我不記得的命令。感謝

回答

55

按照documentation

視圖函數,或視圖短,是一個簡單的Python函數的是 需要一個Web請求,並返回一個網絡響應。

每個視圖函數負責返回一個HttpResponse對象。

換句話說,你的觀點應該返回HttpResponse實例:

from django.http import HttpResponse 

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

不能直接發送一個字符串,但你可以發送一個JSON對象:

from django.http import JsonResponse 

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

然後處理那個。使用JavaScript例如,如果請求通過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

2

我們使用的HttpResponse呈現數據

的HttpResponse呈現文本

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

的HttpResponse渲染HTML

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