Во-первых, я должен сказать, что это мое первое приложение в Django. Поэтому мои знания все еще ограничены.Поле поиска в Django Python
У меня есть эта домашняя страница, где отображаются все данные в моей модели. Название модели - «Asset».
Я пытаюсь найти поле поиска на домашней странице.
models.py
class Asset(models.Model):
asset_desc = models.CharField(max_length=120, null=False)
BEIRUT = 'Beirut'
SAIDA = 'Saida'
HALBA = "Halba"
base_choice = ((SAIDA, "Saida"), (BEIRUT, "Beirut"), (HALBA, "Halba"))
asset_base = models.CharField(max_length=120, null=False, choices=base_choice)
created_date = models.DateField(auto_now_add=True)
update_date = models.DateTimeField(auto_now=True)
asset_user = models.CharField(max_length=120, blank=True)
slug = models.SlugField()
def save(self, *args, **kwargs):
self.slug = slugify(self.asset_desc)
super(Asset, self).save(*args, **kwargs)
def __str__(self):
return self.asset_desc
views.py
def search_asset(request):
if 'q' in request.GET and request.GET['q']:
q = request.GET['q']
assets = Asset.objects.filter(asset_desc__icontains=q)
context = {'desc': assets}
return render(request, 'home.html', context)
HTML для поля поиска:
<form method="GET" class="navbar-form navbar-right">
<input type="text" class="form-control" placeholder="Search..."id="search_box" name="q">
urls.py
url(r'^search/$', "asset.views.search_asset", name="home")
Пожалуйста, помогите, почему он не показывает результат. Я использую Django 1.9.
Что ваш шаблон для показа Результаты? Что передается как 'q' для тестирования? – kia
так в чем проблема? где вы застряли? – karthikr
Нет ничего очевидного, глядя на ваш код. Вам нужно сделать некоторую работу, чтобы показать нам более подробную информацию. 1. Проверьте свои виды.py, распечатав или используя 'pdb', чтобы узнать, действительно ли значение' q' имеет значение. 2. Используйте тот же метод, чтобы выяснить, пуст ли «активы». 3. Вам нужно обновить свой вопрос, чтобы показать свой код, как вы визуализируете результат. –