# 網頁SOP???--兩個禮拜網頁心得 ## 選擇權回測系統 - 功能: - 輸入介面 - 架構: flask - 後端取前端值的方式: ```python= expire_far_near = request.args.get('expire_far_near', default="近月加遠月", type=str) call_put = request.args.get('call_put', default="買權加賣權", type=str) max_amount_per_month = request.args.get('max_trading_num', default=100, type=int) trading_num = request.args.get('trading_num', default=10, type=int) least_price = request.args.get('least_price', default=1, type=int) ``` - SOP 1. 下載一個模板 2. 建立flask架構的資料夾 3. 建立一個虛擬環境 - 方法如下: 先在終端機移動(cd 加路徑)到模板底下的資料夾,然後輸入以下三行指令 - python -m venv venv - 建立虛擬環境 - venv\scripts\activate - 進入虛擬環境 - pip install -r requirements.txt - 裝好所有需要的套件 - python manage.py runserver - 用python執行 manage.py(原先模板不會有這個py檔需自己建立) 3. manage.py(如何用一個最簡單的py?) #### 連上伺服器可以開始寫有錢後端的網頁囉 1. 用pingendo寫前端 - 優點 - 排版快速,可以直接用拖曳的 - 可以快速排版不用每次都重新跑cmd - 它會自動連結js,所以原先預設的按鈕都可以按(除了換頁) - 字體字型可以直接調整不用寫程式 - 缺點 - 程式碼會偏亂,因為拖曳時會發生程式碼變亂的風險 2. JS-ajax ```javascript= function get_value() { document.getElementById('div10').style.display = document.getElementById('div10').style.display = 'block'; var expire_far_near = $('input:radio:checked[name="expire_far_near"]').val(); // var call_put = document.getElementsByName("call_put").value; var call_put = $('input:radio:checked[name="call_put"]').val(); var max_trading_num = document.getElementById("max_trading_num_id").value; $.ajax({ type: "GET", url: "/calculate", dataType: 'json', async: true, data: { //這是從前端送到後端. 有加引號是後端抓到的值.沒加是前方var的值 'call_put': call_put, 'max_trading_num': max_trading_num, }, success: function(response) { // response是一個從後端傳到前端的變數為前方定義的型態(json) var data = response; var data1 = JSON.parse(data[0]); //保證金 var data2 = JSON.parse(data[1]); //累積統計 var data3 = JSON.parse(data[2]); //未平倉口數 var data4 = JSON.parse(data[3]); //統計數據 console.log(typeof(data4)); draw_chart(data1, data2, data3); statical_value(data4); }, beforeSend: function() { $('body').loading({ onStart: function(loading) { loading.overlay.slideDown(400); }, onStop: function(loading) { loading.overlay.slideUp(400); } }); }, complete: function() { $('body').loading('stop'); }, error: function() { console.log("error 3") } }) }; ``` - 主要程式: - html/js/py -
{"metaMigratedAt":"2023-06-14T23:06:40.468Z","metaMigratedFrom":"Content","title":"網頁SOP???--兩個禮拜網頁心得","breaks":true,"contributors":"[{\"id\":\"fdb9f1bc-edc4-4743-8287-2ea98d1773ca\",\"add\":5101,\"del\":2314}]"}
Expand menu