我知道这是一个简单的问题,抱歉。我只想返回一个简单的字符串,没有模板。
我有我的观点:
def myview(request):
return "return this string"
我不记得这个命令。感谢
答案 0 :(得分:68)
视图函数或简称视图只是一个Python函数 接受Web请求并返回Web响应。
每个视图函数负责返回一个HttpResponse 宾语。
换句话说,您的视图应返回HttpResponse
实例:
from django.http import HttpResponse
def myview(request):
return HttpResponse("return this string")
答案 1 :(得分: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 :(得分:3)
我们使用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)
答案 3 :(得分:2)
如果您创建聊天机器人或需要在发帖请求时做出响应以进行确认-您应该添加装饰器,否则Django会阻止发帖请求。 您可以在https://docs.djangoproject.com/en/2.1/ref/csrf/
中找到更多信息在我的情况下,我还必须添加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")
答案 4 :(得分:0)
根据Django文档,Django使用请求和响应对象在系统中传递状态。
当请求页面时,Django创建一个HttpRequest对象,该对象包含有关请求的元数据。然后Django加载适当的视图,并将HttpRequest作为第一个参数传递给视图函数。每个视图负责返回一个HttpResponse对象。请执行以下操作
from django.http import HttpResponse
def myview(request):
text="return this string"
return HttpResponse(text)
答案 5 :(得分:0)
urls.py
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('about/',views.aboutview),
path('',views.homeview),
]
views.py
from django.http import HttpResponse
def aboutview(request):
return HttpResponse("<h1>about page</h1>")
def homeview(request):
return HttpResponse("<h1>home page</h1>")