在 django url 中添加 ?q=search+term

Sha*_*512 1 django django-urls python-3.x

我想将弹性搜索与 django 集成,但首先我需要在 url 中获取一个不错的参数

http://127.0.0.1:8000/search?q=search+term
Run Code Online (Sandbox Code Playgroud)

urls.py(视图的)

urlpatterns = [
    path('?q=', SearchIndexView.as_view(), name="search-index"),
]
Run Code Online (Sandbox Code Playgroud)

urls.py(应用程序的)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),
    path('u/', include('user.urls')),
    path('search', include('search.urls')),
]
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所拥有的,但我不知道如何让它发挥作用。如果可能的话,我想使用 tha path() 而不是 url()

Saw*_*han 5

HTML表格

<form action="{%url 'search' %}"  method="get">
   <input type="text" name="q" placeholder="Search...">
   <button  type="submit"></button>
</form>
Run Code Online (Sandbox Code Playgroud)

网址

path('search/',views.search,name='search')
Run Code Online (Sandbox Code Playgroud)

意见

def search(request):
    query = request.GET.get('q')
    if query:
      print("do your stuff here")
Run Code Online (Sandbox Code Playgroud)