0
Ich möchte einen GET-Parameter beim Rendern einer Ansicht in Django übergeben. Mein Code ist wie folgt:Wie Übergeben eines GET-Parameters in Django in UTF-8
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)
und die daraus resultierende URL lautet:
/customer/=?utf-8?b?L2N1c3RvbWVyL2NyZWF0ZS8/bmFtZT3tmY3quLjrj5k=?=
mit Seite nicht gefunden Fehler
Was denken Sie, mache ich falsch?
url scheint falsch zu sein, sollte es so sein - /Kunde/search_text = '', oder können Sie bitte erarbeiten, was gemeint Ihre URL bedeutet (i die URL-Parameter bedeuten?). –
tom
@anoop wenn der Benutzer versucht, etwas zu suchen, der Parameter geht wie '? Search_text = ''' wie du erwähnt ... es geht gut, wenn der Suchtext ist in Englisch, aber nicht andere Sprachen .. ist es entworfen so: Wenn der Benutzer versucht, einen Kunden zu suchen, und es gibt niemanden mit dem Namen, geht es zu einem "Kunden erstellen Ansicht" –
können Sie http://stackoverflow.com/questions/7060940/append-a-querystring lesen -zum-url-in-django. Django gibt uns auch Funcitonality Abfrage Parameter in Tupel von ** url ** (urls.py) zu erwähnen, wenn immer noch nicht Ihr Problem löst, können Sie bitte django URL für ** Management teilen: customer-create ** – tom