2016-09-30 4 views
0

"otro"기능의 가치를 어떻게 얻을 수 있습니까? 이 코드는 작동하지만 get 함수의 값만 보여줍니다. 오트로의 가치를 어떻게 얻을 수 있습니까? 나는 URL에서 그것을하는 방법을 이해하지 않는다.Python Django, URL을 통해 함수 값에 액세스 할 수 있습니까?

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

이유는 단지'otro'에 대한 새로운보기를 작성하고 GET의 모든 로직을 넣지 마십시오? –

답변

0

장고 class based generic views, 당신은 반복적 인 코드를 작성하지 않고 기능적으로 기본 사용할 수있는 시스템이 있습니다. "otro"또는 JSON 응답과 같은 사용자 정의 출력을 사용하여 HttpResponse을 반환하려면 호출 할 수 없으므로 일반 뷰에 다른 메서드를 포함하고 싶지 않을 수 있습니다 (수행 할 수있는 것과 수행 할 수없는 것을 결정하려는 경우 일반보기로 완료하려면 위의 링크를 클릭하십시오.) 대신, 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') 
+0

아 감사합니다 @JF, 그것을 제거하는 것을 잊었습니다. 결정된. – Corgs

관련 문제