IT/파이썬

파이썬 Flask (웹앱 만들기) 2

thesse 2021. 5. 18. 21:34
300x250
반응형

url의 쿼리 파라미터 가져오기

request.args.get("이름")

# url: http://127.0.0.1:5000/report?qw=abc&help=olil

@app.route("/report")
def report():
    print(request.args)	# 가진거 다 리스트로 보여줌
    print(request.args.get("qw"))	# qw의 값만


--------------------------------------------
ImmutableMultiDict([('qw', 'abc'), ('help', 'olil')])
abc

 

html에서 쓸때는

render_template에서 ("aa.html" , 이름=값) 으로 넘겨주고

html 본문에서 {{이름}} 으로 사용

# main.py
    qw = request.args.get("qw")
    return render_template("report.html", qw=qw)

# report.html
    <body>
        <h1>Job Search for {{qw}}</h1>
        ...
    </body>

 

redirect

from flask import Flask, render_template, request, redirect

@app.route("/report")
def report():
    ...
    if qw:
        qw = qw.lower()
    else:
        return redirect("/")

 

html에서 플라스크로 반복문 쓰기

  # jobs는 render_template("a.html", jobs=jobs)로 받아온 리스트
  {% for job in jobs %}
    <span>{{job.title}}</span>
    <span>{{job.company}}</span>
    <span>{{job.location}}</span>
    <a href="{{job.link}}">apply</a>
  {% endfor%}

{% ... %} 안에서 제어문 동작

{{ ... }} 안에서 값 표시

 

csv파일 다운로드 시켜주기

send_file("file_name")

from flask import Flask, ... send_file

@app.route("/export")
def export():
   ...
   save_to_file(jobs)	# 현위치에 jobs.csv 파일 생성하는 메서드
   return send_file("jobs.csv")
300x250
반응형

'IT > 파이썬' 카테고리의 다른 글

파이썬 가상환경 - 배치파일  (0) 2021.05.21
파이썬 가상환경  (0) 2021.05.21
파이썬 Flask (웹앱 만들기) 1  (0) 2021.05.18
파이썬 클래스(Django)  (0) 2021.05.18
파이썬 패킹, 언패킹  (0) 2021.05.17