Я новичок в django и мне нужно создать панель поиска в моем проекте django-реагировать. Необходимо взять данные из ввода, отправить их в django и, в ответ, получить новый набор запросов. Я использую Axios и Django-остальные рамки. Из поля ввода в компоненте «Поиск» React я собираюсь отправить данные через такие аксиозы, как:
getQuery = () => {
axios.get(`http://localhost:8000/api/SearchPost?q=${this.state.query}`)
.then(res => {
this.setState({
data: res.data
});
ввод в React:
handelChange = (e) => {
this.setState({ query: this.search.value},
() => {
this.getQuery()
})
}
render() {
return (
<form>
<input
placeholder="Search..."
name="q"
ref={input => this.search = input}
method="get"
onChange={this.handelChange}
/>
</form>
мой view.py в Django:
class SearchPost(generics.ListCreateAPIView):
serializer_class = ModelSerializer
def search(request):
query = request.GET.get("q")
if query:
queryset = Model.objects.filter(
Q(category_icontains=query)|
Q(title_icontains=query)|
Q(creator_icontains=query)
).distinct()
в urls.py:
path('api/SearchPost', views.SearchPost.as_view()),
но в ответ я ничего не получаю.
Я спрашиваю себя:
1) Я отправляю запрос axios в нужную конечную точку?
2) Должен ли я что-то возвращать в своем классе view.py "SearchPost"?
Любые советы приветствуются, спасибо.