flaskへのテキストファイルの読み込みが出来ません。実行すると"そのようなファイルやディレクトリはありません"と表示されます。
bbs.pyというPythonのファイルを作り,同じ階層にarticles.txtを作っています。articles.txtは "文字列","文字列" を2行書いただけのファイルです。
とりあえず、自分が書いたコードではテキストファイルを読み込めていないようです。
bbs.pyとarticles.txtを同じ階層において、その階層にtemplatesフォルダを作り、その中にhtmlのファイルを格納しています。
test
|--bbs.py
|--articles.txt
|--templatesフォルダ→htmlファイル(bbs.html , layout.html)
コードは以下の通りです。
bbs.py
```Python
from flask import Flask, request, render_template
import codecs
app=Flask(name)
@app.route("/")
def bbs():
message="Hello World"
file=codecs.open("articles.txt", "r", "utf-8")
lines=file.readlines()
file.close()
return render_template("bbs.html",message=message,lines=lines)
@app.route("/result", methods=["POST"])
def result():
message="this is paiza"
article=request.form["article"] name=request.form["name"] return render_template("bbs.html",message=message,article=article,name=name)
if name=="main":
app.run(debug=True, host='0.0.0.0', port=5000)
layout.html ```html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Flask_test</title> <style>body {padding: 10px;}</style> </head> <body> {{ 共通テンプレート }} {% block content %} {% endblock %} </body> </html>
bbs.html
html
1{% extends "layout.html" %} 2 3{% block content %} 4<h1>一行掲示板</h1> 5<p>{{ message }}</p> 6<form action="/result" method="post"> 7 8 <label for="article">投稿</label> 9 <input type="text" name="article"> 10 <p></p> 11 <label for="name">名前</label> 12 <input type="text" name="name"> 13 <button type="submit">送信する</button> 14 15</form> 16 17<p>{{ article }}{{ name }}</p> 18<h2>投稿一覧</h2> 19{% for line in lines: %} 20 <p>{{ line.rstrip() }}</p> 21{% endfor %} 22 23{% endblock %}
paizaのネット環境でのE-learning用の課題なのですが、私はwindowsでの自分がいつも使用している環境下で実行したところ,それまでの課題では問題なく出来ていたのですが、この課題でエラーとなってしまいました。
個人的にはbbs.pyのファイル読み込みの部分が原因だと思っていますが、どう記述すればよいのか,なぜ実行できないのか知恵を借りれればと思っています。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー