2016-09-30 5 views
0

"otro"機能の価値をどのように得ることができますか?このコードは動作しますが、get関数の値だけが表示されます。 otroの価値をどのように得ることができますか?私はURLでそれを行う方法を理解していません。Python Django、urlsによる関数値へのアクセス?

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

Djangoは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

関連する問題