私はいくつかのものを検索するために、このような種類のものを検索するためにサイドバーフォームを構築しようとしていますhttp://cl.ly/0e0R1T0G3B1x0c451F22ここで、人はウェブサイトの任意の部分の特定のパラメータを検索できます。どこにでも表示することができます。Djangoサイドバーのフォーム
ビューはウェブサイトのサイドバーにフォームを渡していないようですが、空のフォームを常にサイドバーとして送信するにはどうすればいいですか?
私は可能な限り明確にしようとしていますが、私はそれが十分ではないかもしれないことを知っています。
これは、イムは、ジャンゴ・ユニフォーム
class HorizRadioRenderer(forms.RadioSelect.renderer):
""" this overrides widget method to put radio buttons horizontally
instead of vertically.
"""
def render(self):
"""Outputs radios"""
return mark_safe(u'\n'.join([u'%s\n' % w for w in self]))
class results_fixt_SearchForm(forms.Form):
league_search = forms.ChoiceField(choices=[ (league.slug, league.title) for league in League.objects.all()])
radios = forms.CharField(widget=forms.RadioSelect(renderer=HorizRadioRenderer,
choices=(('table','Table'),('results','Results'), ('fixtures', 'Fixtures'),)), required=True)
# uniForm Helper
helper = FormHelper()
layout = Layout(
Fieldset('',
'league_search', 'radios'
)
)
helper.add_layout(layout)
# Submit button(s)
submit = Submit('submit','Submit')
helper.add_input(submit)
class Meta:
fields = ['search_term', 'radios']
def __init__(self, request, *args, **kw):
super(results_fixt_SearchForm, self).__init__(*args, **kw)
self.request = request
を使用すると、これはHTMLテンプレート
<form action="{% url results_fixt_search %}" method="get" enctype="multipart/form-data" id="results_fixt_search" class="select-form">
{% with results_fixt_search_form.helper as helper %}
{% uni_form results_fixt_search_form helper %}
{% endwith %}
</form>
そしてこれであることに注意してください、これはフォームでビュー
@render_to(template='league/common_fragments/sidebar_fixturesandresults.html')
def results_fixt_search(request):
results_fixt_search_form = results_fixt_SearchForm(request)
return {'results_fixt_search_form': results_fixt_search_form, }
ですURL
url(r'^(?i)results_fixt/search/$', 'results_fixt_search', {}, name='results_fixt_search'),
コードを追加してスクリーンショットにリンクする方法がより明確になります。 – agf
ビューのコードを貼り付けることができますか(少なくともあなたが使用している機能)、フォームのhtml部分も素晴らしいでしょう。 – bx2
コードを確認したり、手伝ったりするのに気を付ける人は誰ですか? :) – maumercado