[過去ログ] Pythonのお勉強 Part63 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
323
(2): デフォルトの名無しさん (ワッチョイ 5b68-LNiW) [sage] 2020/05/28(木) 01:23:28.60 ID:/WykpyHl0(1/6) AAS
プログラミング初心者です。FlaskでWebアプリの開発に挑戦しました

AWSのLightsailでApacheを使ってデプロイするところまでは出来たんだけど、変数関連でたまにエラーが起きる。ログには変数の定義が出来ていないと言われる。でもページをリロードすると問題なく動いたりする。もう一度リロードするとまたエラーが出たりする。

グローバル変数で問題が起きてるっぽいんだけど、原因が分からない
def hoge()
global hoge
hoge = huga
return hoge

書き方はこれであってますよね?

あと、一番安いプランで契約してるんで、メモリが512MBしかなくカッツカツです。これが原因で変数が自動で解除されてる可能性ってあります?memory errorは出てないです。環境はUbuntu 18.04でPython3.6.9です

また開発はローカルのWin10で行い、こっちでは問題なく動いています。ただPythonのバージョンが違い、こちらは3.8.3です。バージョンの違いでこういったエラーは起きるものですか?
329
(1): デフォルトの名無しさん (ワッチョイ 5b68-zRCY) [] 2020/05/28(木) 11:46:39.15 ID:/WykpyHl0(2/6) AAS
すいません>>323です。実際のコードは
@app.route('/start',methods=['POST','GET'])
def start():
〜中略〜
global present
present = request.form.get("present")
〜中略〜

@app.route('/confirm',methods=['POST','GET'])
def con():
sql = "select * from plist where list='{0}'"
cur.execute(sql.format(present))
〜中略〜

としたところ
NameError: name 'present' is not defined

が表示されます。requestで受け取れていないのかな?と思い別の方法で確認しましたが、受け取っていることは確認しました。
331
(1): デフォルトの名無しさん (ワッチョイ 5b68-zRCY) [] 2020/05/28(木) 12:11:40.37 ID:/WykpyHl0(3/6) AAS
>>330
start()内のglobal presentではだめなんですか?ここ以外の箇所では同じような書き方でエラーも起きないのですが
333
(1): デフォルトの名無しさん (ワッチョイ 5b68-LNiW) [sage] 2020/05/28(木) 12:32:21.94 ID:/WykpyHl0(4/6) AAS
>>332
そうですね。start()が呼ばれないとpresentは定義されません。しかし設計上、いきなりconfirmにアクセスすることはないと思います

start以外からアクセスするにはURLを直に入力しないといけませんし、ユーザー側がそうするような状況にはならないと思います

それに今はstartからconfirmにアクセスした時でも、presentが定義されていないとエラーが出るので困っています

しかもローカルの開発機だと、全く同じ書き方でエラーは起きず、しっかりとcon()の中でもpresentが定義されており、本番環境でのみこのエラーが発生しているので困っています
336: デフォルトの名無しさん (ワッチョイ 5b68-LNiW) [sage] 2020/05/28(木) 13:11:24.80 ID:/WykpyHl0(5/6) AAS
>>334
そこまでは考えていませんでしたね…startからそのまますぐにconfirmに移動したときにでも別のプロセスにつながる可能性があるのですか?

>>335
セキュリティの問題もあるんですかね…?セキュリティに関してはまだまだ勉強不足でよく分かっていない点も多いです
338: デフォルトの名無しさん (ワッチョイ 5b68-LNiW) [sage] 2020/05/28(木) 14:04:50.76 ID:/WykpyHl0(6/6) AAS
>>337
勉強不足でした…だから同じ操作をしてもエラーが起きたり起きなかったりしたんですね…起きなかったのはたまたま同じプロセスに繋がっただけってことで

理解出来ました。ありがとうございます。設計を見直してみますね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s