1
私は自分の小規模なプロジェクトの検索機能を拡張しようとしています。今、私はcharフィールドを使って検索することができますが、いくつかのチェックボックスを追加したいのです。一部のプロジェクトにはSREDチェックボックスが表示されており、SREDのみのプロジェクトも検索できるようにしたいと考えています。検索機能を拡張する
私の現在の検索設定です。
models.py
class Project(models.Model):
...
proj_name = models.CharField(max_length=255, verbose_name='Project Name')
pre_quote = models.CharField(max_length=3)
quote = models.IntegerField(max_length=10, verbose_name='Quote #', unique=True)
...
SRED = models.BooleanField()
...
Views.py
@login_required
def search(request):
if request.method == 'POST':
form = SearchProjectForm(request.POST)
if not form.is_valid():
return render_to_response('project/search.html', {'form': form}, context_instance=RequestContext(request))
else:
projects = Project.objects.filter(proj_name__icontains = form.cleaned_data["text"])
companies = Clients.objects.filter(client_name__icontains = form.cleaned_data["text"])
return render_to_response('project/search.html', {'form': form, 'projects':projects, 'companies': companies}, context_instance=RequestContext(request))
form = SearchProjectForm()
return render_to_response('project/search.html', {'form': form}, context_instance=RequestContext(request))
forms.py
class SearchProjectForm(forms.Form):
text = forms.CharField(label = "Search")
search.htmlの
<form method="POST" action="">
{% csrf_token %}
{{form}}
<input type="submit" value="Search"/>
</form>
<h3>Search Results</h3>
...
ご迷惑をおかけして申し訳ございません。
おかげで再び
スティーブ
お返事ありがとうございました。そのコードを入れて、私は今、/ search/ に 'TypeError'を取得しています。 __init __()は少なくとも2つの引数をとります。私のviews.pyのform = SearchProjectForm()を指しています。 – TheLifeOfSteve
コンストラクタのSearchProjectFormにプロジェクトを渡す必要があります。私の答えの最初のコード行:-)フォームの2番目のインスタンスでも:)ので、 'form = SearchProjectForm(project)'。 – gruszczy
:)私はそれを試み、それを行うときにプロジェクトの名前エラーを取得し続ける – TheLifeOfSteve