航行4日目

3741 ワード

質問-共通ページではなく、一意のページを作成します.
実は、今日は精神が崩れて、授業を受けているようです.最初からまじめに話を聞いていれば、問題はすぐに解決されますが、時間がもったいないです.
DBクエリ結果
  • HTMLへ転送
  • @app.route('/')
    def home():
        postings = list(db.postings.find({}))
        for posting in postings:
            posting["_id"] = str(posting["_id"])
        return render_template('main.html', postings=postings)
    テンプレートは
  • として表され、データベースクエリーの結果は
  • に近い.
    <div class="list-grid" id="thriller-grid">
    	{% for posting in postings %}
                {% if ("스릴러" in posting["genres"]) %}
                {% set imgUrl = posting["imageUrl"]%}
                {% set url = posting["url"]%}
                <a href="/detail/{{posting['_id']}}">
                    <img src="{{imgUrl}}" alt=""></a>
                {% endif %}
            {% endfor %}
            </div>
    ここでのポイントは,aタグhref属性である.aラベルをクリックすると、ブラウザはgetリクエストをサーバに送信します.
  • サーバ側はurlとurl変数を受信し、
  • を処理する.
    @app.route('/detail/<postingId>')
    def detail(postingId):
        print(postingId)
        token_receive = request.cookies.get('mytoken')
        try:
            payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256'])
            posting = db.postings.find_one({"_id": ObjectId(postingId)})
            # 좋아요 수 변경
            # print(posting)
            return render_template('detail.html', posting=posting)
        except (jwt.ExpiredSignatureError, jwt.exceptions.DecodeError):
            return redirect(url_for("login"))
    <>の値は直接変数として使用できます.関数を定義するときは、パラメータとして書き換えてください.
    次にurlについて詳細に説明します.htmlテンプレートを放出します.テンプレートをJinjaで表現するので、PostingIdで検索した結果も一緒に投げつけます.
    TIL
    1.業務プロセス協調の重要性
    -人によって見る方向が違うし、考えることも違う.
    -明確な計画、開発スケジュールが重要なようです.
    2.徹夜コードは使わない
    -調子が悪くて失ったものは夜更かしして得たものより多いようです.