inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 플라스크(Flask) 기반 웹 개발 및 업무 자동화 서비스 활용

Jinja2 템플릿 엔진 파악 - 연습문제 두번째

문제 해설을 보다가 궁금한 점이 있습니다.

188

규규

작성한 질문수 1

0

질문1. 

@app.route("/<int:num>")

<>안에 문자열 받는 경우엔 method 는 GET만 가능한게 맞나요?

질문2. 

def inputTest(num=None):

num = None 이건 기본값(defalut)를 설정해주는건가요?

None이 데이터가 없다는 얘기 같은데 이걸 왜 num에 넣어주는건지 잘 이해가 안됩니다. 

질문3. 

def inputTest(num=None):
    return render_template("index.html"num=num)
@app.route("/calculate"methods=['POST'])
def calculate(num=None) :
    if request.method == 'POST':
        temp= request.form['num']
    else : 
        temp = None
    return redirect(url_for('inputTest',num=temp))

위에 두 함수에서 각각 render_template()과 redirect(url_for())이 쓰였는데.. 둘다 url이동하는 것 같은데 다른점이 뭔지 궁금합니다. 

mongodb flask

답변 1

0

권승민

1. 인자 메소드

네 맞습니다.

현 코드는 입력값을 주소로 받아오는 형태입니다.

주소로 데이터를 주고받는 메소드는 GET 방식입니다.

2. 함수 인자 명시

잘못된 값이 들어가지 않도록 데이터 초기화 이후 입력 값을 넣어주는 형태입니다.

num 형태로 인자를 받되 기본 값을 None으로 초기화합니다.

데이터가 있다면 해당 데이터를 없다면 None으로 초기화 되어 아무런 값도 넘어가지 않을 것입니다.

3. 두 함수의 차이

- render_template는 html을 렌더링하여 사용자가 볼 수 있도록 변환합니다.

- url_for은 함수 이름에 매칭되는 url을 가져옵니다.

- redirect는 특정 url로 리다이렉션을 해주는 역할을 수행합니다.(status code 302가 출력됩니다.)

html 렌더링 역할 / 렌더링 된 url로 이동시키는 역할 2가지라고 보시면 되겠습니다.

[restful API]서버 구성관련 문의드립니다.

0

516

1

[공유]파일서버 만들기_파일 다운로드 에러발생시 참고하세요

0

418

1

[데이터베이스 기초(Mongo DB),첫번째]mongo 실행관련

0

274

1

[Jinja2 연습문제 두번째] calcuate 접속시 화면

0

261

1

[get과post요청 처리방식 이해]03_get_post from action 문의

0

398

2

python for vscode extension이 없네요

2

351

2

127.0.0.1:5000 접속 시 오류

0

3203

1

동적 라우팅 관련하여 질문드립니다.

0

378

1

구구단 문제풀이 질문

0

338

1

연습문제 풀이 질문입니다.

0

279

0

사진 업로드한 파일 사각화

0

275

1

기능 설명좀 해주세요..

0

209

0

잘 이해가 안가서 그런데!

0

217

1

디버그모드ㅠㅠ

0

174

0

수업이 중간에 끊기는데..

0

264

1

렌더템플릿안에는 경로 안써도 되나요?

0

296

1

혹시 render_template()에는 경로

0

260

0

안녕하세요 제가 코드를 써서 웹에 올려도 안되네요

0

189

1

프로젝트 진행 - 파일 서버 만들기 / 파일 검증 기능 만들기(19강)

0

347

1

<p>태그에 대해서 더 정확한 설명이 좀 필요합니다.

0

194

1

form.files.data 문의

0

220

0

수업내용이 좀 짤린거 같애요 말하는 도중에 수업이 끝나네요

1

118

0

파일서버 업로드

0

138

1

안녕하세요 플라스크 설치가 완료됐는데 VS code에서 연결이 안되나봐요

1

655

3