LoginSignup

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

至急解決したいです!flaskで別プロジェクトのリンクを張りたいのですがやり方がわかりません

解決したいこと

Pythoのflaskで簡単なHP作成を行っているのですが、
ページ遷移のリンクでわからない箇所があるため、
解決方法を教えて下さい。

下記がサイトのディレクトリ構造になります。

.ディレクトリツリー
サイトフォルダ/
 ├ プロジェクト1/
 │   └ static/
 │   └ templates/
 │   └ app.py
 ├ プロジェクトフォルダ1/
 │ └ プロジェクト2/
 │   └ static/
 │   └ templates/
 │   └ app.py
 │ └ プロジェクト3/
 │   └ static/
 │   └ templates/
 │   └ app.py
 │ └ プロジェクト4/
 │   └ static/
 │   └ templates/
 │   └ app.py
 │ └ プロジェクト5/
 │   └ static/
 │   └ templates/
 │   └ app.py
 │ └ プロジェクト6/
 │   └ static/
 │   └ templates/
 │   └ app.py
 ├ プロジェクトフォルダ2/
 │ └ プロジェクト7/
 │   └ static/
 │   └ templates/
 │   └ app.py
 │ └ プロジェクト8/
 │   └ static/
 │   └ templates/
 │   └ app.py
 └ unit/

プロジェクト1にプロジェクト2~8までの各indexページリンクを張りたいのですが、
うまくリンク設定ができず詰まってしまっています

発生している問題・エラー

.エラー
TemplateNotFound
jinja2.exceptions.TemplateNotFound: ../プロジェクトフォルダ1/プロジェクト2/templates/index.html

該当するソースコード

app.py(flask)
@app.route('/プロジェクト2/index')
def プロジェクト2_page():
    return render_template('../プロジェクトフォルダ1/プロジェクト2/templates/index.html')

base.html
<a href="{{ url_for('プロジェクト2_page') }}"></a>

上記コードで実施してみたのですが、上記エラー(TemplateNotFound)が発生してしまいました。
「flask 別プロジェクト リンク」等で検索したのですが、参考になる記事が見当たらず、詰まってしまっています。

わかる方がいらっしゃいましたら教えていただけると助かります。
最後まで読んでいただきありがとうございます。

0

3Answer

Comments

  1. @Kobayashi0620

    Questioner

    わざわざ過去のQAまで遡ってみていただいてありがとうございます
    そうだったんですね。
    結構急ぎの内容だったので一定時間たって解決してなかったので念のためもう一度投稿させていただいた次第です。

    @SurferOnWwwさん、ありがたいアドバイスありがとうございます!
    @SurferOnWwwさん、このQAに関してぜひ教えていただきたいです!!

render_templateはそのプロジェクトのtemplatesディレクトリに格納されているhtmlファイルを呼び出す関数ではありませんか?
テンプレート

質問者さんの具体的にやりたいことのイメージが伝わってきませんが、テンプレートとurl_forを組み合わせてはどうでしょうか?
【Python】Flask url_forについて

1

not foundって出力されているんだから、指定しているパスにはファイルがないんじゃない?
"正しく"パスの指定ができているか確認してみてください。
そしてその確認手順を詳細に書いたら、きっと誰かがアドバイスをくれると思います。

今の情報から言えることは上記の通り指定したパスにファイルがないことのみです。

1

Your answer might help someone💌