Blog Cover Image

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

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

Sign @MinaYu.

[DEVELOP]PYTHON/DJANGO 之REST API開發(5)-SERVER端/open, save file to vm/cloud/

Posted on

打開KKBOX,放一首偏抒發的慢歌來配著打文章

上一篇忘記什麼時候發了

但我的google分頁仍有幾篇等著我哪天有feel的時候來寫一寫文章發一發

5月3號了

上一篇4/27

我忘了這幾天在幹嘛,畢竟做了大量的事,跟誰講過什麼話都忘光了

不過經過一番寒徹骨,我這幾天找到方法

跟工程師學弟們聊一聊後,找到了解法

上篇文章卡在4/27

而這幾天連續忙了三天外

我連續遇到的幾個問題也一一的去解決

  1. Atom與server端連線問題,導致寫了三週的程式碼全部沒了

  2. 依舊卡在csrf安全認證

  3. 卡在如何將檔案回傳vm/cloud


Atom與server端連線問題,導致寫了三週的程式碼全部沒了

不要以為小專案,小程式就隨便開發

我當初看到我的程式碼一空,也是傻眼

如果有朋友是用Atom連FTP的話

  1. 記得將檔案存好後,按disconnect 確保本地端與Server端斷線後,再重開電腦(因為我會連VPN跨網路,所以VPN失效後,電腦得重開才能連回我的網路)

  2. 每天的進度,甚至是只要每次debug解決,就立刻壓縮一版(我怕了,所以我都這樣XD)

當初看到也是傻眼,不過還好自己卡的時間跟寫的時間大約是4:1,所以在催促男友去洗澡的時間半小時,專心狂key就把寫三週的程式救回來,然後卡一樣的地方XDDD


依舊卡在csrf安全認證

https://blog.csdn.net/feng88724/article/details/7221449

我是找到了這個方法,也照做了,但後來還是沒有解決

去學校問了工程師學弟們,其中一個很乾脆的直接進Setting.py把csrf認證註解掉XDDD

這樣就沒認證了,就可以跑了

!!!!不過!!!!,這只能在測試時先用,學弟們表示正式的時候,他們還是會乖乖找解法寫上去

csrf有自己一套的程式寫法,得按照他的程式去寫,最後在想辦法補吧QQ


卡在如何將檔案回傳vm/cloud

好啦~~~~

解法都在下面了

f=request.FILES[``'image'``]

with open(``'some/file/name.txt'``, ``'wb+'``) as destination:

    ``for chunk ``in f.chunks():

        ``destination.write(chunk)

基本上這還是公式解法

如何使用就參考網站們吧~~

https://simpleisbetterthancomplex.com/tutorial/2016/08/01/how-to-upload-files-with-django.html

https://www.cnblogs.com/linxiyue/p/4038436.html

http://bigpxuan.blogspot.tw/2016/07/python-open.html

https://gearheart.io/blog/how-to-upload-files-with-django/


而這邊是想要筆記一下怎麼用object.____()的功能

因為google關鍵字我也不知道要找什麼XD

https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/django/orm.html

CRUD 指的是,Create (新增)、Read (讀取)、Update (修改)、Delete (刪除) 等常見的資料庫操作。

https://github.com/uranusjr/djangogirls-taipei-tutorial/blob/master/django/orm.md


大綱就是我把所有三頁的表單全改成POST讀取

然後我也寫好從第一頁到第三頁都是同一筆學生,回傳同一筆學生的資料

並修改他的資料中哪個欄位的資料

s = Record.objects.filter(student_id = request.POST['student_id'])
s.update(check='TRUE')

大概就是這樣,前面的表單要用hidden藏好student_id,接著回傳後撈該生的資料,來做修改他其他資料欄位的值

if 'file' in request.FILES and request.FILES['file']:

順便使用if句來做判斷

如果有收到檔案,那麼就在那位學生的check欄位打個勾(Boolean)

我的Model設計為這樣

 auto_id = models.AutoField('id', primary_key=True)
 student_id = models.CharField(max_length=32, blank=True)
#ip_Field
 date_time = models.DateTimeField(default=datetime.datetime.now)
 check = models.BooleanField(default=False)

抓取學生ip我還在研究,應該還不會這麼快登場XD


等這篇記錄寫完後

回去將收取兩個檔案的動作寫好側好

然後做個備份後,今天就開始回到咱們之前卡Python桌機的地方啦~

雖然是桌機開發到一半跑來開發網路

但其實最終是要將兩個合在一起XDDD

浩大工程,除了只有我一個人做之外,時間也是被壓縮得緊緊緊

[DEVELOP]PYTHON 桌機版開發遇到之問題(1)

系列文XD

也由於要回去開發client端了,所以最近一直在找解法

https://supportex.net/blog/2011/08/python-uploading-file-http/

client python desktop

好像終於看到程式完成的盡頭了QQQQ


後語

昨天遇到另外一位研究生好朋友

他也是快畢業了被一堆事操翻了

而我卻感覺很妥妥的穩穩的在學習怎麼開發程式

其實我當初也是很急迫很緊張,被我們老師催了一下

雖然現在離畢業還很遙遙無期

很多人也是很愛在我面前晃一下,問一下「什麼時候要畢業?」

但對於目前的我來說,很享受開發程式的過程

很享受每天在學習開發程式,加上每天晚上陪男友,的這樣愜意的生活

的確沒有去年的衝勁,但卻蠻滿意這樣雖然步調慢了點,但每天除了過得開心外

壓力也不會這麼的坡韜洶湧,而且每天還是有在進步跟學習的生活

的確朋友說每個指導老師都老神在在,覺得學生延畢沒差,多了一個人用

但我的內心其實是覺得,目的是一樣的(就是慢慢做慢慢學也會畢業)

那就趁快畢業前多學習點東西

我也是跟指導老師說,我還蠻享受現在開發程式,慢慢學習到很多資訊新知的過程

也許比別人慢,但學到的東西扎實,而且還是能夠真的帶出去用的實戰!

加油吧~