Python Django,通过url访问函数值?

时间:2016-09-30 00:33:35

标签: python django

如何获得" 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()),



]

1 个答案:

答案 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')