Count 기능 구현하기

count.html 템플릿 만들고 기본 작업하기

우리가 home.html에서 텍스트를 받아서 Count! 버튼을 누르면 입력받은 텍스트를 막 이리저리 가공해서 결과물을 내주고 싶은거죠. 그렇다면 가장 먼저 해야되는건, 결과 페이지를 보여줄 count.html을 작성해야 하겠네요.

count.html을 templates 안에 만드시고, 우리가 항상 하던 views.py와 urls.py 작업을 해줍시다!

<h1>당신이 입력한 텍스트는 <!--총단어수--> 단어로 구성되어 있습니다.</h1>
<a href=""> 다시하기 </a>

<h1>입력한 텍스트: </h1>
<!-- 입력받은 전체 텍스트 -->

<h1>단어 카운트: </h1>
<!-- '단어' - '단어나온 횟수' -->

views.py에 count와 관련된 함수를 넣어주었습니다.

views.py에 count와 관련된 함수를 넣어주었습니다.

urls.py에서 이번에 우리는 https://127.0.0.1/count에 count.html을 띄워주게 하기 위해서 위와 같이 작업해주었습니다.

urls.py에서 이번에 우리는 https://127.0.0.1/count에 count.html을 띄워주게 하기 위해서 위와 같이 작업해주었습니다.

잠깐! home.html이 무슨 기능인지 한 번 다시 보고 갑시다.

home.html의 기능을 다시 정리해보겠습니다. 우리가 작성해준 count.html은 다음과 같은 기능을 하게 됩니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6ad6e194-2884-4ced-823b-ece00dde9600/Untitled.png

여기서 위에 적어줬듯, 우리가 count!를 누르게 되면 count페이지로 넘어가게 작업을 해야되기 때문에, form태그의 action 안에 {% url 'count' %}를 작성해줍시다.

자, 우리가 작성해준 {% url 'count' %}로 인해 Count!버튼을 누르면 궁극적으로 count함수가 실행되죠?

그런데 우리는 단순히 count.html을 띄워주는 기능이 아닌, 데이터를 가공하는 것까지 해주길 원하는것이죠. 그렇기 때문에 count함수에 데이터를 가공할 수 있도록 코드를 추가해줘야 합니다.

Count함수 수정하기

다음과 같이 count함수를 수정해줍시다.

def count(request):
    entered_text = request.GET['fulltext']
    return render(request, 'count.html', {'alltext': entered_text)