質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.34%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

277閲覧

Pythonのwebアプリ開発フレームワークFlaskを使用した時の"[Errno 2] No such file or directory"エラーが分からない。

Chihiro

総合スコア0

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2024/11/24 04:03

実現したいこと

Flaskのrender_template関数を利用して、作成したHTMLファイルをルーティングさせたい。

発生している問題・分からないこと

render_template関数を利用して、別に作成したHTMLをファイルを表示させる段階でエラーが発生している。HTMLファイルが存在しないというエラーであるが、カレントディレクトリ内に表示させたいHTMLファイルは存在している。

エラーメッセージ

error

1C:\Users\lhtx2\AppData\Local\Programs\Python\Python313\python.exe: can't open file 'C:\\Users\\lhtx2\\新しいフォルダー\\flask_practice.py': [Errno 2] No such file or directory 2 3*\\で\の文字化け発生

該当のソースコード

Python

1from flask import Flask,render_template 2 3app=Flask(__name__) 4 5@app.route("/") 6 7def homepage(): 8 9 return render_template("index.html") 10 11if (__name__)=(__main__) 12 13run.app(debug=True)

HTML

1<!DOCTYPE html> 2 3<html lang="ja"> 4 5<head> 6 7 <meta charset="UTF-8"> 8 9 <title>Flask homepage</title> 10 11 12</head> 13 14<body> 15 16 <h1> This is Flask application </h1> 17 18</body> 19</html>

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

ネットで検索した対処法として、ディレクトリの位置関係を見直しましたが、特に問題は見当たりませんでした。なお、Djangoで同じ操作を行った際にも共通のエラーが発生しています。

補足

使用しているツールのバージョン

Python 3.13.0

Flask 3.1.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2024/11/24 11:06

> ネットで検索した対処法として、ディレクトリの位置関係を見直しましたが、特に問題は見当たりませんでした。 「ディレクトリの位置関係」は具体的にはどうなっていますか?
quickquip

2024/11/25 00:27

書いてあるエラーは「HTMLファイルが存在しないというエラーである」と考えるのは無理がありますね。 エラーメッセージのコピーを間違えてませんか なにをしたらエラーが出たか書いた方がよさそうです
bsdfan

2024/11/25 08:50

問題の本質部分ではないですが、下記の部分は実際こう書いているのでしょうか?(文法エラーになりそうですし、おかしいと思います) if (__name__)=(__main__) run.app(debug=True)
guest

回答2

0

https://flask.palletsprojects.com/en/stable/quickstart/#rendering-templates

Flask will look for templates in the templates folder.

https://flask.palletsprojects.com/en/stable/api/#flask.Flask

template_folder (str | os.PathLike[str] | None) – the folder that contains the templates that should be used by the application. Defaults to 'templates' folder in the root path of the application.

カレントディレクトリではなくて、Flaskアプリケーションフォルダの下にtemplatesというディレクトリを作ってそこに置きます。

投稿2024/11/24 06:08

quickquip

総合スコア11235

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Chihiro

2024/11/24 10:35

回答ありがとうございます。試してみましたが解決できませんでした。 templatesファイルを作成し、その中にhtmlファイルを置いたのですが、同じエラーが出てしまいました。 この場合どの辺りに原因がありそうでしょうか?
quickquip

2024/11/24 11:33

ファイルがhtmlじゃない、とかですかね? (index.html.txt になってるけどエクスプローラでindex.htmlにみえてるだけとか) 逆に自分がやっていることを第三者に分かるように説明することをがんばったほうがいいかもですが
guest

0

C:\Users\lhtx2\AppData\Local\Programs\Python\Python313\python.exe: can't open file 'C:\\Users\\lhtx2\\新しいフォルダー\\flask_practice.py': [Errno 2] No such file or directory

このエラーを拝見するに、指定されたファイル flask_practice.py を python.exe が見つけられないことが原因で発生しています。エラーメッセージに「No such file or directory」が含まれているため、ファイルが存在しないか、指定されたパスが間違っている可能性があります。

1 ファイルのパスが正しいか確認

2 パスにスペースや特殊文字が含まれている場合
a パスをダブルクオートで囲む
b. 英数字のディレクトリを使用

3 ファイルが本当に存在しているか確認

4 Python スクリプトがあるディレクトリに移動

cd "C:\\Users\\lhtx2\\新しいフォルダー" C:\\Users\\lhtx2\\AppData\\Local\\Programs\\Python\\Python313\\python.exe flask_practice.py

ファイルの実行が正しくできるところをクリアしてから、コードの不備を見直したほうが良いかもしれません。

投稿2024/12/06 07:05

ority

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.34%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問