Добавьте? Q = search + term в django url - PullRequest
0 голосов
/ 25 декабря 2018

Я хочу объединить упругий поиск с django, но сначала мне нужно получить хороший параметр в URL

http://127.0.0.1:8000/search?q=search+term

urls.py (из вида)

urlpatterns = [
    path('?q=', SearchIndexView.as_view(), name="search-index"),
]

urls.py (из приложения)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),
    path('u/', include('user.urls')),
    path('search', include('search.urls')),
]

Это то, что у меня есть, но я не могу понять, как заставить это работать.Я хочу использовать tha path (), а не url (), если это возможно

Ответы [ 3 ]

0 голосов
/ 25 декабря 2018

Вам не нужно определять строки запроса URL в urls.py.Вы можете сохранить URL-адрес следующим образом:

path('', SearchIndexView.as_view(), name="search-index"),

, а в SearchIndexView вы можете сделать это следующим образом:

q = request.GET.get('q')
0 голосов
/ 26 декабря 2018

ФОРМА HTML

<form action="{%url 'search' %}"  method="get">
   <input type="text" name="q" placeholder="Search...">
   <button  type="submit"></button>
</form>

URL

path('search/',views.search,name='search')

просмотров

def search(request):
    query = request.GET.get('q')
    if query:
      print("do your stuff here")
0 голосов
/ 25 декабря 2018

сохраняйте ваш URL как этот

urlpatterns = [
    path('', SearchIndexView.as_view(), name="search-index"),
]

в html-форме

<form method='GET'>

и в input put name="q"

...