Friday, October 19, 2018

Search function problem in production environment

Hi again,

I am trying to deploy a search function to my website. It works well in the development environment, but in the production side I get the error message below (and my codes). I appreciate a lot if someone could help me again. I'm using PythonAnywhere in production, if that matters.

Best regards,

Mikko

Error:
2018-10-19 13:13:13,629: Error running WSGI application  2018-10-19 13:13:13,630: IndexError: list index out of range  2018-10-19 13:13:13,630:   File "/usr/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 142, in __call__  2018-10-19 13:13:13,630:     response = self.get_response(request)  2018-10-19 13:13:13,630:   2018-10-19 13:13:13,630:   File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 78, in get_response  2018-10-19 13:13:13,631:     response = self._middleware_chain(request)  2018-10-19 13:13:13,631:   2018-10-19 13:13:13,631:   File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 36, in inner  2018-10-19 13:13:13,631:     response = response_for_exception(request, exc)  2018-10-19 13:13:13,631:   2018-10-19 13:13:13,631:   File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception  2018-10-19 13:13:13,631:     response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())  2018-10-19 13:13:13,631:   2018-10-19 13:13:13,631:   File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 125, in handle_uncaught_exception  2018-10-19 13:13:13,632:     return debug.technical_500_response(request, *exc_info)  2018-10-19 13:13:13,632:   2018-10-19 13:13:13,632:   File "/usr/lib/python3.6/site-packages/django/views/debug.py", line 94, in technical_500_response  2018-10-19 13:13:13,632:     html = reporter.get_traceback_html()  2018-10-19 13:13:13,632:   2018-10-19 13:13:13,632:   File "/usr/lib/python3.6/site-packages/django/views/debug.py", line 333, in get_traceback_html  2018-10-19 13:13:13,632:     c = Context(self.get_traceback_data(), use_l10n=False)  2018-10-19 13:13:13,632:   2018-10-19 13:13:13,632:   File "/usr/lib/python3.6/site-packages/django/views/debug.py", line 264, in get_traceback_data  2018-10-19 13:13:13,632:     frames = self.get_traceback_frames()  2018-10-19 13:13:13,633:   2018-10-19 13:13:13,633:   File "/usr/lib/python3.6/site-packages/django/views/debug.py", line 422, in get_traceback_frames  2018-10-19 13:13:13,633:     filename, lineno, 7, loader, module_name,  2018-10-19 13:13:13,633:   2018-10-19 13:13:13,633:   File "/usr/lib/python3.6/site-packages/django/views/debug.py", line 383, in _get_lines_from_file  2018-10-19 13:13:13,633:     context_line = source[lineno]

  
urls.py
from django.urls import path  from . import views    app_name = 'news'    urlpatterns = [      path('', views.Home, name='home'),      path('all/', views.All_news, name='all'),      path('world/', views.World, name='world'),      path('sport/', views.Sport, name='sport'),      path('economy/', views.Business, name='economy'),      path('politics/', views.Politics, name='politics'),      path('scitech/', views.SciTech, name='scitech'),      path('search/', views.Search, name='search'),  ]

views.py:
from django.db.models import Q
def Search(request):      query = request.GET.get('q')      results = news.objects.filter(Q(title__icontains=query) | Q(publisher__icontains=query)).order_by('-created')      args = {'results': results}      return render(request, "news/search.html", args)

base.html:
<form method="GET" action="{% url 'news:search' %}" class="form-inline">  <input class="form-control mr-sm-2" type="search" name="q" value="{{request.GET.q}}" placeholder="search" aria-label="Search">  <button class="btn btn-light my-sm-0" type="submit">  Search </button>  </form>

search.html:
{% for news in results %}  <h4> <a href="{{ news.url }}" target="_blank">{{ news.title }}</a> </h4>  <p> <a href="{{ news.homepage }}" target="_blank">{{ news.publisher }}</a> | {{ news.subsection2 }} | {{ news.published }} </p>  <hr class="m-y-md" />  {% endfor %}  

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAGD0jjJPcnpX3B_AQ9EiMzae-G_jecndaUqxdfK6f1wD1Oyk%3DA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment