2017-04-20 25 views
0

私はDjangoで比較的新しいです。私はこのような汎用ビューを使いたい:一般的なビュー要求処理Django

class photogalleryView(generic.ListView): 
    template_name = 'xxx/photogallery.html' 
    model = Foto 
    query = Foto.objects.all() 

def get_queryset(self): 
    return self.query 

と私はdefinitelly PHPでのようにGETまたはPOSTリクエストまたは$ _SESSIONのようなものを処理する方法がわからない、あなたは私のアドバイスのいくつかの作品をくださいお願いできますか? 大変ありがとうございます!例えば

- 私はこのURLにリクエストをGET扱いたい:それはあなたが使用したいものだ場合

http://127.0.0.1:8000/photogallery?filter=smth 

答えて

0

最初に同じQuerySetオブジェクトquery = Foto.objects.all()を返すことはあまり意味がなく、フィルタとページネーションを使用しようとすると問題になる可能性があります。あなたは手動であなたのQuerySetを変更したい場合は、次の手順を実行します。

def get_queryset(self, *args, **kwargs): 
    qs = super().get_queryset(*args, **kwargs) 
    # modify the qs QuerySet in the way you want 
    return qs 

ジャンゴでは、通常はGETまたはPOSTを使用しないでください。 Djangoはあなたのためにそれを処理します:) あなたが達成したいものの例はここにある:実際には https://docs.djangoproject.com/en/1.11/topics/class-based-views/generic-display/#dynamic-filtering

、Djangoのドキュメントは、少なくとも公共の機能のために、非常に素晴らしく、包括的です。 この例のurl(r'^books/([\w-]+)/$', PublisherBookList.as_view()),に注意してください。ここで([\w-]+) RegExグループは、後でget_querysetメソッド(例ではself.args[0])で使用できるいくつかの引数(「smith」など)を取り込みます。

ドキュメントのこの部分を読んで、URLパターンについての詳細を理解するには、次の https://docs.djangoproject.com/en/1.10/topics/http/urls/#named-groups

0

は、クラスベースのビューのためのdocumentationを見てください。

あなたのクラスにgetmethodsを追加できます。これらのクラスはそれぞれの要求に対してトリガーします。

これらのメソッドは、クライアント、セッション、およびログインしたユーザーからのデータにアクセスするために使用できるrequest引数をとります。詳細については、ドキュメントをチェックしてください。

+0

私はすでに試したが、これらの方法は返す必要がありますでしょうか?私が試してみると、 '返されたレンダリング(リクエスト、photogalleryView.as_view()、クエリ)' それは私に空白のページを与える –

関連する問題