現在flaskを使ったWebアプリの製作をこちらのサイトを参考に行っています。
http://qiita.com/ynakayama/items/2cc0b1d3cf1a2da612e4
ところが実行してみると
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
という(私的には)いつものエラーが・・・。
これまでは該当箇所に.encode("UTF-8")といれたりしてなんとかやってきたのですが今回はどこにいれたらいいかもわからずです。
よろしければご指導ください。
以下コードです。
【numpy.py】
coding=UTF-8
Flask などの必要なライブラリをインポートする
from flask import Flask, render_template, request, redirect, url_for
import numpy as np
import random
自身の名称を app という名前でインスタンス化する
app = Flask(name)
メッセージをランダムに表示するメソッド
def picked_up():
messages = [
"こんにちは、あなたの名前を入力してください",
"やあ!お名前は何ですか?",
"あなたの名前を教えてね"
]
# NumPy の random.choice で配列からランダムに取り出し
return np.random.choice(messages )
ここからウェブアプリケーション用のルーティングを記述
index にアクセスしたときの処理
@app.route('/')
def index():
title = "ようこそ"
message = picked_up()
# index.html をレンダリングする
return render_template('index.html',
message=message, title=title)
/post にアクセスしたときの処理
@app.route('/post', methods=['GET', 'POST'])
def post():
title = "こんにちは"
if request.method == 'POST':
# リクエストフォームから「名前」を取得して
name = request.form['name']
# index.html をレンダリングする
return render_template('index.html',
name=name, title=title)
else:
# エラーなどでリダイレクトしたい場合はこんな感じで
return redirect(url_for('index'))
if name == 'main':
app.debug = True # デバッグモード有効化
app.run() # どこからでもアクセス可能に
【layout.py】
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> {% if title %} <title></title> {% else %} <title>Bootstrap 101 Template</title> {% endif %} <!-- Bootstrap --> <link href="/static/css/bootstrap.min.css" rel="stylesheet"></head> <body> {% block content %}{% endblock %} <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="/static/js/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="/static/js/bootstrap.min.js"></script> </body> </html><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]-->
【index.py】
{% extends "layout.html" %}
{% block content %}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。