如何获得" otro"的价值?功能?这段代码有效,但它只显示了get函数的值。如何获得otro的价值?我不明白如何在网址中这样做。
views:
from django.views.generic import ListView, View
from . models import Autor
from django.shortcuts import render, redirect
from django.http import HttpResponse, HttpResponseRedirect
def inicio(request):
return HttpResponse('HOLA')
# Create your views here.
class MiVista(View):
def get(self, request):
# <la logica de la vista>
return HttpResponse('resultado')
def otro(self, request):
# <la logica de la vista>
return HttpResponse('otro')
urls:
from django.conf.urls import url, include
from django.contrib import admin
from .import views
from .views import MiVista
urlpatterns = [
url(r'^hola$', views.inicio),
url(r'^indice/', MiVista.as_view()),
]
答案 0 :(得分:0)
Django有class based generic views,这个系统允许你在不编写重复代码的情况下使用基本函数。如果您想返回带有自定义输出的HttpResponse
,例如&#34; otro&#34;或者JSON响应,您不希望在通用视图中使用另一个方法,因为您无法调用它(如果您想确定通用视图可以做什么和不可以做什么,请单击上面的链接)。相反,您可能希望使用incido
函数执行的操作。
尝试这样的事情(并将其添加到urls.py模块中):
def inicio(request):
return HttpResponse('HOLA')
# Create your views here.
class MiVista(View):
def get(self, request):
# <la logica de la vista>
return HttpResponse('resultado')
def otro(request):
# <la logica de la vista>
return HttpResponse('otro')