これは簡単な質問です、ごめんなさい。テンプレートではなく、単純な文字列を返したいだけです。
私の意見があります:
def myview(request):
return "return this string"
コマンドを覚えていません。ありがとう
ドキュメント によると:
ビュー関数、または略してビューは、単純にPython関数であり、Web要求を受け取り、Web応答を返します。
各ビュー関数は、HttpResponseオブジェクトを返す責任があります。
つまり、ビューは HttpResponse
インスタンスを返す必要があります。
from Django.http import HttpResponse
def myview(request):
return HttpResponse("return this string")
文字列を直接送信することはできませんが、JSONオブジェクトを送信することはできます。
from Django.http import JsonResponse
def myview(request):
return JsonResponse({'mystring':"return this string"})
その後、それを処理します。たとえば、ページがAJAXによって要求された場合、Javascriptを使用します。
$.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
チャットボットを作成するか、確認のために投稿リクエストでこの応答が必要な場合は、デコレータを追加する必要があります。それ以外の場合は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")
httpResponseを使用してデータをレンダリングします
テキストをレンダリングするHttpResponse
from Django.http import HttpResponse
def Index(request):
return HttpResponse("Hello World")
HTMLをレンダリングするHttpResponse
from Django.http import HttpResponse
def Index(request):
text = """<h1>Hello World</h1>"""
return HttpResponse(text)
一致Django documentation Djangoは、要求オブジェクトと応答オブジェクトを使用して、システムに状態を渡します。
ページがリクエストされると、Djangoはリクエストに関するメタデータを含むHttpRequestオブジェクトを作成します。その後、Djangoは最初の引数としてHttpRequestを渡し、適切なビューをロードしますビュー関数へ。各ビューはHttpResponseオブジェクトを返します。
from Django.http import HttpResponse
def myview(request):
text="return this string"
return HttpResponse(text)
rls.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>")