はじめまして、清原です。
ユーザーの入力を扱うのであればformを使うのはどうでしょう?
「必須入力」のような処理を簡単に作れます https://docs.djangoproject.com/en/1.8/topics/forms/
--
--
----------------- http://djangoproject.jp/ -----------------
You received this message because you are subscribed to the Google Groups "django-ja" group.
To post to this group, send email to djan...@googlegroups.com
To unsubscribe from this group, send email to django-ja-...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/django-ja
---
このメールは Google グループのグループ「django-ja」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには django-ja+...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
### forms.py ###from django import forms
class SearchForm(forms.Form): """検索フォーム """ kamoku = forms.CharField(max_length=100, required=False) gakunen = forms.PositiveSmallIntegerField(required=False)
### views.py #### importは省略してますfrom django.shortcuts import render
def search_items(kamoku=None, gakunen=None): """Itemモデルの検索クエリを返します """ filter_params = {} if kamoku: filter_params['item_department__contains'] = kamoku if gakunen: filter_params['item_year__contains'] = gakunen return Item.objects.filter(**filter_params)
def search(request): form = SearchForm(request.GET) # ここではGETを使ってますが、仕様によってはPOSTでもいいかもしれません if form.is_valid(): items = search_items( kamoku=forms.cleaned_data['kamoku'] gakunen=forms.cleaned_data['gakunen']) else: items = []
return render(request, "search_item.html", {'form': form, 'items': items})初めまして。