Blog Cover Image

Inspire you to have New thinking, Walk out your unique Road.

有的時候,你無意間遇到的一些故事,會激發你的靈感,改變你的想法,接下來你會用與之前全然不同的觀念去創造屬於你獨特的故事。

Sign @MinaYu.

[DEVELOP]PYTHON/DJANGO 之REST API開發(2)

Posted on

老話一句

卡了多少天,就是隔多少天才發文章

先上

網址紀錄:

Built a rest api with django

https://scotch.io/tutorials/build-a-rest-api-with-django-a-test-driven-approach-part-1

介紹requests怎麼使用

http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

Build Simple Restful Api With Python and Flask Part 2

https://medium.com/python-pandemonium/build-simple-restful-api-with-python-and-flask-part-2-724ebf04d12


https://stackoverflow.com/questions/37901451/how-can-i-connect-to-a-local-sqlite3-database

查詢sqlite  資料庫欄位語法

sqlite>.tables sqlite>.help

REST API framwork

http://www.django-rest-framework.org/

Understanding And Using REST APIs

https://www.smashingmagazine.com/2018/01/understanding-using-rest-api/

Python Connecting to MySQL Databases

http://www.mysqltutorial.org/python-connecting-mysql-databases/

Python MySQL Insert Data

http://www.mysqltutorial.org/python-mysql-insert/

python的requests发送/上传多个文件

https://blog.csdn.net/five3/article/details/74913742

使用Python Requests上传表单数据和文件

https://blog.csdn.net/wangtaoking1/article/details/50741208

Django REST authentication from desktop app

https://stackoverflow.com/questions/40586744/django-rest-authentication-from-desktop-app


在昨天遇(ㄉㄨˇ)到指導老師後

就感覺太陽出來了

喔不是,是又有了新一步的發展

自己卡了幾天後,除了慌張以外還是找學弟們詢問

不過昨天遇到指導老師後,也得到了幾條線索,拿回家繼續摸索

首先,觀念釐清了

這次論文要開發的程式是

Python Desktop Application(for Windows)

主要功能不能透露

會將資料利用Restful API 經過 HTTP/ Django Requests 回傳虛擬機器(雲端)

而問完指導老師後,釐清的第一個觀念是

發送端及接收端=

Client- Server

專有名詞,沒這專有名詞還真不知道該估狗什麼QQ

Client端: Python Desktop Application

Server端: Vm/ Django Requests

使用技術:

Python, Django, Restful API framework(concept), …

使用設備:Atom, Terminal, Mac Air, VM, MySql, …


以往只有開發網頁經驗的自己,對於開發桌機一開始還蠻恐懼的

覺得能夠寫桌機程式是跟神一般的存在

尤其還要將桌機的資訊回傳給網路

然後一開始很緊張的時後一直跟人家再三確認,桌機真的能夠回傳給網路???

一直問一直問一直問XDDDD

不過到目前已經了解很多概念跟技術

也就不會這麼慌

寫程式最重要的除了邊寫邊學之外

就是在寫程式之前,簡單的定義好事項,像是

  • 功能

  • 需求

  • 架構

  • 用到什麼技術

  • 需要什麼設備

因為程式很複雜,尤其老師給的需求跟講的概念每週都不同。

你一定也會因為卡住看了一堆網頁,然後自己亂掉。

我自己是會在每次開會後,先把功能跟需求還有系統的大約架構用google雲端上的diagram簡單畫一下,也算是總體架構,讓自己看了也比較知道要做什麼,才不會亂掉

這部分我們老師常常也都扔給我做,他去寫程式,寫好的程式帶出來給我畫架構給別人看

目前自己要開發的程式分為兩端

也就是

  • Client端

  • Server端

而Client端目前做好的是兩個子系統 兩個python .py檔(有一個還得我自己拆出來)

而需要做的內容就是寫一個將兩個.py檔可以執行起來然後將蒐集的數據透過點擊按鈕之類的動作回傳網路

(也就是說這部分到最後會變成一個exe檔,執行>蒐集資料>回傳)

而Server端目前是利用架在虛擬機上的Django接收檔案

因為Django有內建Requests語法,可以接收從客戶端來的檔案,並將他們回傳於資料庫及雲端裡,雖然是寫網頁,但能不能做到這樣,我也還在研究QQ

而目前已經把資料庫準備好了,就再查怎麼寫View跟Requests了

而老師那邊是提出HTTP Requests的概念,還不懂是什麼,所以只能夠姑且再看看了QQ

剛剛有稍微查一下網站,先筆記起來

https://docs.djangoproject.com/en/2.0/topics/http/

https://docs.djangoproject.com/en/2.0/ref/request-response/

這週進度,我就不講有什麼進度了,基本上早就天窗XD

那我就來打一下剩下要做的事吧

Server端:

將view接收的部分寫好

Client端:

將其中一個 .py子檔獨立出來

將那個 .py子檔的功能改一下

利用Tkinter整合兩個 .py子檔

設計按鈕結束兩個子檔程式並回傳網路


Client - Server

HTTP Requests

寫成好幾個.py子檔再串起來