開発ログ4
4315 ワード
講義資料
ローカル開発環境
クラウド環境
フラスコサーバーを起動するファイルはappです.pyと名付けて!
htmlファイルの読み込み:フラスコ内蔵関数render templateを使用する
GET、POST方式
要求GET→データ読み出し時
例)ムービーリストの表示
→データ転送時:
URLの後ろに疑問符を付けてkey=valueに転送
) google.com?ホッキョクグマ
POST→データの作成、更新、削除を要求した場合
例)会員加入、会員脱退、パスワード修正
→データ転送時:
key:value形式で非表示のHTML bodyに渡す
*METAタグとは?
URLのみ入力し、「meta」タグをスクロールすることで自動的にこれらの部分を取得できます.
セクションでは、
「表示」(body)以外のサイト属性を記述するタグ.
例えば、Google検索時に表示される説明文字、サイトタイトル、KakaoTalk共有時に表示される画像など.
メモ
mongody/HMLCSS JS/サーバを作成!
->自分のコンピュータで作成し、自分のコンピュータでテストする=ローカル開発環境
フラスコフレーム:サーバーを作成するフレーム
(サーバの駆動が容易なコードのセット)
@app.route('/')
def home():
return 'This is Home!'
@app.route('/mypage')
def mypage():
return 'This is mypage!!!'
localhost:5000/mypage
<フラスコのデフォルトフォルダ構造>
[セットアップルーチン:(常にプロジェクトフォルダで設定して開始)]
ファイル→新規プロジェクトフォルダの設定
フォルダにパス(ディレクトリ)を作成するには:
.static(画像、cssファイル、暗い)
.templates(htmlファイルを含むロールとロードするロール)
フォルダにPythonファイルを作成するには:
. app.py
templatesパスのindex.htmlの生成
ファイル→設定→プロジェクト→python-interpret-+-パッケージのインストール
. flask
. pymongo
. dnspython
render_template
return render template(「index.html」)を使用する場合
templatesフォルダのhtmlを読み込み、サーバに送信
.localhost:サーバに表示されるコンテンツ
▲右上クロム:私のパソコンのファイルを開くのと同じ概念
< api >
get:データクエリー
urlの後ろ?key=value
post:データを削除して変更を作成する
.html bodyでキーを押します:value
cf.フロントエンドhtmlページ、バックエンドフラスコ/サーバページ
<課題>
[火星の土地を共同購入]
dbpracファイルを参照して作成
cf)リフレッシュ:window.location.reload()
注文/ライフサイクル(post)/情報サーバ(Information Server)ボタンをクリックして完了
->ボタンはsave order関数を実行します.
->name、address、size情報をjqueryにインポートして送信
->約束通り(ウィンドウ)->app.py約定で受信(post)
->ウィンドウdbに保存->受注完了後に戻る
->メッセージを受信してalert->Windowsの再ロードとして表示
受注/ロード完了時の自動クエリーの表示(get)
スクロール練習-metaラベル
ex)NAVER映画:html head部分のog:image,og:title...
スケルトン作成APIの準備(POST)
▲作成するものを特定
サーバの作成(app.py)-クライアントの作成(html)-チェック
mongo DBに保存した値画面に表示(GET)
サーバの作成やクライアントの作成など、よくやったと思います.
データ入力後、mongo DBに保存して画面にロードし、エラーが発生します.
※エラーコード:
name_receive = request.form['name_give']
ファイル[詳細ファイルの場所]デスクトップ[タスク][ジョブ][ファイル][サイトパッケージ][werkzeug][データ構造.py]行375,in getitem
raise exceptions.BadRequestKeyError(key)
werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'name_give'
-->解決済み!(04/20)
POST側ではname giveは定義されていません…^^;
function save_comment() {
let name = $('#name').val()
let comment = $('#comment').val()
$.ajax({
type: 'POST',
url: '/homework',
data: {name_give:name, comment_give: comment},
success: function (response) {
alert(response['msg'])
window.location.reload()
}
})
}
Reference
この問題について(開発ログ4), 我々は、より多くの情報をここで見つけました https://velog.io/@o__o/sparta4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol