우리가 home.html에서 텍스트를 받아서 Count! 버튼을 누르면 입력받은 텍스트를 막 이리저리 가공해서 결과물을 내주고 싶은거죠. 그렇다면 가장 먼저 해야되는건, 결과 페이지를 보여줄 count.html을 작성해야 하겠네요.
count.html을 templates 안에 만드시고, 우리가 항상 하던 views.py와 urls.py 작업을 해줍시다!
<h1>당신이 입력한 텍스트는 <!--총단어수--> 단어로 구성되어 있습니다.</h1>
<a href=""> 다시하기 </a>
<h1>입력한 텍스트: </h1>
<!-- 입력받은 전체 텍스트 -->
<h1>단어 카운트: </h1>
<!-- '단어' - '단어나온 횟수' -->
views.py에 count와 관련된 함수를 넣어주었습니다.
urls.py에서 이번에 우리는 https://127.0.0.1/count에 count.html을 띄워주게 하기 위해서 위와 같이 작업해주었습니다.
home.html의 기능을 다시 정리해보겠습니다. 우리가 작성해준 count.html은 다음과 같은 기능을 하게 됩니다.
여기서 위에 적어줬듯, 우리가 count!를 누르게 되면 count페이지로 넘어가게 작업을 해야되기 때문에, form태그의 action 안에 {% url 'count' %}
를 작성해줍시다.
자, 우리가 작성해준 {% url 'count' %}
로 인해 Count!버튼을 누르면 궁극적으로 count함수가 실행되죠?
그런데 우리는 단순히 count.html을 띄워주는 기능이 아닌, 데이터를 가공하는 것까지 해주길 원하는것이죠. 그렇기 때문에 count함수에 데이터를 가공할 수 있도록 코드를 추가해줘야 합니다.
다음과 같이 count함수를 수정해줍시다.
def count(request):
entered_text = request.GET['fulltext']
return render(request, 'count.html', {'alltext': entered_text)