>

Django 프로젝트에서forms의 입력을 받아서views.py에있는 함수에 대한 인수로 전달해야합니다. 어떻게합니까?

내 views.py 코드

from django.shortcuts import render,render_to_response
from django.http import Http404, HttpResponse, HttpResponseRedirect
from search_engine import query
from .forms import SearchForm

def query_input(request):
    if request.method == "POST":
        form = SearchForm(request.POST)
    else:
        form = SearchForm()
        return render(request, 'search.html', {'form': form})
def search_results(request):
    search_results = query.results(# text input from forms)
    a = "<br /><br />".join(word for word in search_results)
    return HttpResponse(a)

내 forms.py 코드

from django import forms
class SearchForm(forms.Form):
    your_query = forms.CharField(max_length=100)

  • 답변 # 1

    요청 방법이 POST인지 확인한 후 양식을 확인한 후 다음과 같은 속성에 액세스 할 수 있습니다

    views.py에서 :

    if request.method = "POST":
        form = SearchForm(request.POST)
        if form.is_valid():
            search_text = form.cleaned_data['search_text']
            # code from search_results function to return HTTP Response
    
    

    양식 문서를 확인하고 자세한 내용은 여기를 참조하십시오.

관련 자료

  • 이전 python - 클래스가 아닌 메타 클래스의 __repr__ 클래스
  • 다음 angular - 스프링 부트에서 전화를받지 못했습니다