URL パラメーターとして if_random を渡す必要はありません。
def random_person(request):
return HttpResponseRedirect(
reverse('home.views.film_chart_view') + \
"?q=" + get_person.short + \
"&is_random=1"
)
def film_chart_view(request):
is_random = 'is_random 'in request.GET
ただし、url パラメーターを使用する場合、解決策はもう少し複雑になります。
ビュー関数に渡されるパラメーターは URL パターンから取得されます。最初にそれらを設定する必要があります。
is_random パラメータはオプションであるため、film_chart_view に対して 2 つの別々のパターンを記述することをお勧めします (実際には、これら 2 つのパターンをより複雑な正規表現 expr を使用して 1 つに組み合わせることができますが、読みやすさが重要です)。
URLconf:
url(r'^film_chart_view/$', 'home.views.film_chart_view', name ='film_chart_view'),
url(r'^film_chart_view/(?P<is_random>.*)/$', 'home.views.film_chart_view', name ='film_chart_view_random'),
url(r'^random/$', 'home.views.random_person'),
def random_person(request):
return HttpResponseRedirect(
reverse('home.views.film_chart_view', kwargs={'is_random': '1'}) + \
"?q=" + get_person.short
)
ビュー パラメーター (リクエストを除く) は常に文字列です。コード内で int/bool/... に変換する必要があります。
def film_chart_view(request, is_random=None):
if is_random:
...