0
DjangoでビューをレンダリングするときにGETパラメータを渡したいと思います。次のように私のコードは次のとおりです。UTF-8でDjangoでGETパラメータを渡す方法
class CustomerList(ListView):
model = Customer
template_name = 'management/customer_list.html'
def get(self, request):
search_text = request.GET.get('search_text', '') # check if search_text exists
query = Q(name__icontains=search_text) | Q(phone_number__icontains=search_text)
object_list = self.model.objects.filter(query).order_by('-regdate', '-id')
if object_list.count() == 0:
response = redirect('management:customer-create')
response['Location'] += '?name=%s' % (search_text)
return response
context = {
'object_list':object_list,
'search_text':search_text,
'count':self.model.objects.count()
}
return render(request, self.template_name, context)
をし、結果のURLは次のようになります:ページが見つかりませんエラー
と
/customer/=?utf-8?b?L2N1c3RvbWVyL2NyZWF0ZS8/bmFtZT3tmY3quLjrj5k=?=
あなたは私が間違っているのはどう思いますか?
URLが正しくないと思われるが、それは次のようにする必要があります。 – tom
@anoopユーザーが何かを検索しようとすると、パラメータは '?search_text = '''のようになります。検索テキストが英語で他の言語ではないとうまくいきます。 デザインされていますユーザーが顧客を検索しようとしたときに、名前を持つユーザーがいない場合は、「顧客作成ビュー」に移動します –
http://stackoverflow.com/questions/7060940/append-a-querystring -to-url-in-django。 Djangoは** url **(urls.py)のタプルでクエリパラメータを記述するためのfuncitonalityも提供していますが、あなたの問題を解決できない場合は**管理のためのdjango URLを共有してください:customer-create ** – tom