私はDjangoの外部アプリケーションをインストールしている...Django - 自分のアプリケーションでDjango外部アプリケーションの汎用ビューを使用するには?
ジャンゴへの新たなんだが、この外部アプリケーションは「のpython2.6 /のsite-packages /干し草の山」内側「views.py」ファイルを持って、ヘイスタックと呼ばれます。私はこの "views.py"はDjangoの言葉では "一般的なビュー"と呼ばれると思います。
この汎用ビューは、このように「urls.py」を使用して呼び出されます。
urlpatterns = patterns('haystack.views',
url(r'^search/$', FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs), name='haystack_search'),
)
私は私のアプリには、この汎用ビューからのジャンプをする必要があります。私の質問はどのように私はこれを行うことができますか?
ヘイスタック「views.py」のコードは次のようになります:
from django.conf import settings
from django.core.paginator import Paginator, InvalidPage
from django.http import Http404
from django.shortcuts import render_to_response
from django.template import RequestContext
from haystack.forms import ModelSearchForm, FacetedSearchForm
from haystack.query import EmptySearchQuerySet
RESULTS_PER_PAGE = getattr(settings, 'HAYSTACK_SEARCH_RESULTS_PER_PAGE', 20)
class SearchView(object):
...
def __init__(self, template=None, load_all=True, form_class=None, searchqueryset=None, context_class=RequestContext, results_per_page=None):
...
def __call__(self, request):
...
def build_form(self, form_kwargs=None):
...
def get_query(self):
...
def get_results(self):
...
def build_page(self):
...
def extra_context(self):
...
def create_response(self):
...
def search_view_factory(view_class=SearchView, *args, **kwargs):
...
class FacetedSearchView(SearchView):
...
def __init__(self, *args, **kwargs):
...
def build_form(self, form_kwargs=None):
...
def extra_context(self):
...
def basic_search(request, template='search/search.html', load_all=True, form_class=ModelSearchForm, searchqueryset=None, context_class=RequestContext, extra_context=None, results_per_page=None):
...
誰かが、私は「urls.py」からコードを取り出して、で働く事を置くために従うべき手順を与えることができます私の "views.py"アプリ?
よろしく、
「views.py」は一般的なビューとは言えません。 views.pyは、ビュー(一般的なものや通常のもの)のための単なるコンテナです。通常、[一般的なビュー](https://docs.djangoproject.com/ja/1.3/topics/generic-views/)は、1つのタスクを実行し、多くの状況で使用できる単純なビューを意味します。 – Lycha