i want support search with all language in search bar , but when i write an Arabic word for example , it says
Server error (500)
my code | Models.py :
class Homepage(models.Model):
name = models.CharField(max_length=50,default="")
app_contect = models.CharField(max_length=240,default="")
page_url = models.URLField(max_length=250,default="")
app_image = models.ImageField(upload_to='images/',null=True, blank=True)
def get_image(self):
if self.app_image and hasattr(self.app_image, 'url'):
return self.app_image.url
else:
return '/path/to/default/image'
def __str__(self):
return self.name
class PCprogram(models.Model):
name = models.CharField(max_length=50,default="")
app_contect = models.CharField(max_length=240,default="")
page_url = models.URLField(max_length=250,default="")
app_image = models.ImageField(upload_to='images/',null=True, blank=True)
post_date = models.DateTimeField(auto_now_add=True, null=True, blank=True)
def get_image(self):
if self.app_image and hasattr(self.app_image, 'url'):
return self.app_image.url
else:
return '/path/to/default/image'
def __str__(self):
return self.name
class Meta:
ordering = ('-post_date',)
views.py :
def search(request):
if request.method == 'GET':
query= request.GET.get('q')
submitbutton= request.GET.get('submit')
if query is not None:
home_database= Homepage.objects.filter(Q(name__icontains=query) | Q(app_contect__icontains=query) | Q(page_url__icontains=query) | Q(app_image__icontains=query))
pcprograms_database= PCprogram.objects.filter(Q(name__icontains=query) | Q(app_contect__icontains=query) | Q(page_url__icontains=query) | Q(app_image__icontains=query))
results = list(
sorted(
chain(pcprograms_database,home_database),
key=attrgetter('name'),
reverse=True # Optional
))
paginator = Paginator(results,6)
page = request.GET.get('page')
results = paginator.get_page(page)
context={'results': results,
'submitbutton': submitbutton}
return render(request, 'html_file/search.html', context)
else:
return render(request, 'html_file/search.html')
else:
return render(request, 'html_file/search.html')
search form in html page :
<form id="search_form" action="{% url 'search' %}" method="GET" value="{{request.GET.q}}" class="form-inline">
<input id="search_box" type="text" name="q"
placeholder=" Search For ... "
style="color:black"
class="form-control mr-sm-2"/>
<input class="btn btn-outline-text-white my-2 my-sm-0" id="search_button" type="submit" name="submit" value="Search"/>
</form>
i tried add charset="utf-8" in form , but it doesn't work .
also i tried add # -- coding: utf-8 -- on the first line in models.py , and also but it doesn't work .
I'm using MySQL Database