Python 板


LINE

hello, 你好 你可以參考我的習慣, 1234照順序去做 以留言板來說: startapp guestbook 1.先想models, 看一下別人網站的留言板有什麼欄位, 標題、內容...所以得出結果 #guestbook/models.py from django.db import models from django.contrib.auth.models import User class Post(models.Model): author = models.ForeignKey(User) title = models.CharField(max_length=100) body = models.TextField() 2.處理forms 在guestbook目錄下開一個forms.py from .models import Post class PostForm(forms.ModelForm): class Meta: model = Post exclude = ('author',) 3.處理views #guestbook/views.py from .forms import PostForm from django.shortcuts import render_to_response from django.template import RequestContext def post_add(request): if request.method == 'POST': form = PostForm(request.POST) if form.is_valid(): obj = form.save(commit=False) obj.author = request.user obj.save() else: form = PostForm() return render_to_response('guestbook/post_add.html', { 'form': form }, context_instance=RequestContext(request)) 4.最後處理template 在專案目錄開一個templates/guestbook/post_add.html檔案 或是放在guestbook下面, 像這樣guestbook/templates/guestbook/post_add.html {% block extends "base.html" %} {% block content %} <form action="" method="post"> <table> {{ form.as_table }} </table> <input type="submit"> </form> {% endblock %} 專案的urls.py urlpatterns += patterns('', url(r'^guestbook/', include('guestbook.urls', namespace='guestbook')), ) 在guestbook的目錄下也開一個urls.py urlpatterns = patterns('guestbook', url(r'post_add', 'views.post_add', name='post_add'), ) 這樣你就可以在template url tag {% url namespace:urlname %} <a href="{% url guestbook:post_add %}">我要留言</a> 如果沒有取namespace的話建議 url的name前面建議加個prefix 如:url(r'post_add', 'views.post_add', name='guestbook_post_add') 這樣才不會跟別的app名稱衝到 建議不要直接把網址打在上面<a href="/guestbook/post_add">我要留言</a> 像是一台主機裡面掛很多網站 domain/projects/mysite1 domain/projects/mysite2 ... 可能有一百多個網站 這樣你在搬移專案目錄的時後才會對到正確的網址 依我個人經驗, 想要進步的話, 建議不用買書, 不要依賴編輯器去選擇關鍵字跟屬性, 我是使用gvim, 每天都要寫, 每一行程式碼都要自己打, 用手去記憶, 寫 -> debug -> 寫 -> debug ... 一直重複下去, 然後你就會發現debug次數越來越少. --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.221.178 ※ 編輯: wutony76 來自: 114.36.221.178 (04/14 05:47)
1F:→ birdhackor:我覺得寫程式的功力跟靠不靠編輯器選關鍵字無關吧... 04/14 12:03
2F:→ birdhackor:自動補完只是讓你打程式更快而已 04/14 12:04
3F:→ birdhackor:要讓debug的次數減少最好的方式應該還是多寫好的撰碼 04/14 12:08
4F:→ birdhackor:方式~不要寫出結構不良的code 04/14 12:09
5F:→ kusoayan:我也認同樓上說的 減少打字的時間沒什麼不好阿 重點還 04/14 12:33
6F:→ kusoayan:是在於程式的架構 04/14 12:33
hello, 我看原作者應該是屬於沒有接觸過python, 而是接觸django才開始學python, 我有幾位朋友也是類似這種情形, 如果一開始就要求code要漂亮架構要完美, 會讓學習者產生挫折, 很快的...他就會放棄了, 他的學習方式可能是從網路上, 可能從書上, 然後可能直接把範例複製過來, 一開始就要面對幾十行或幾百行code, 很快他就暈了, 不想學了, 所以才建議自己去打每一行code, 讓他有一種蓋房子的感覺, 一行一行打, 可能打到某一行的時候, 他就會突然想到原來寫前面那幾行是為了什麼, 慢慢寫然後慢慢想過, 他不在害怕, 不會看到code就暈倒, 然後就會整理出自己的心得, 用自己的邏輯跟架構去寫程式, 這樣他就會有所成長, 因我一個人教學經驗有限, 針對沒接觸過python甚至沒寫過程式的人, 要來學習django所會面臨的問題, 也提不出更好的教法, 就請大家多提出有沒有更好的辦法跟學習方法, 來幫助這些人入門, 感恩. ※ 編輯: wutony76 來自: 114.36.221.178 (04/15 00:04)
7F:→ birdhackor:其實練習好的寫法不一定要很多行的程式碼才能練 04/15 04:38
8F:→ birdhackor:比如說寫了一個class共25行 寫完之後發現有地方可以簡 04/15 04:38
9F:→ birdhackor:化就開始簡化,或是用幾個實例跑一跑發現思考的不夠周 04/15 04:39
10F:→ birdhackor:全,就花點時間改善,這樣就可以練習更好的程式碼了 04/15 04:39
11F:→ birdhackor:另外,以python而言的話,官網的tutorial有很多短的程 04/15 04:42
12F:→ birdhackor:式碼,可以從那邊看起,那些程式碼多半不超過5行 04/15 04:44
13F:→ birdhackor:然後有時候他會列出幾個可以得出同樣結果的程式碼 04/15 04:44
14F:→ birdhackor:然後用文字陳述哪種寫法好,從這邊練起也可以 04/15 04:44
15F:→ birdhackor:我覺得要練習好的寫法有時候需要有點潔癖啦 04/15 04:46
16F:→ birdhackor:有時候寫某些功能一開始一定會先求"跑得出結果" 04/15 04:46
17F:→ birdhackor:但做法會很醜,這時候就會有點受不了,不改會不舒服... 04/15 04:46
18F:→ birdhackor:其實我也不強 不過我覺得這有時候真的是態度問題 04/15 04:47
19F:→ birdhackor:像我朋友他對於改出好程式碼就沒啥興趣...都只求能跑 04/15 04:48
20F:→ birdhackor:我看到他的程式碼就會很不自在... 04/15 04:48
21F:→ birdhackor:然後,既然要學python那麼除了程式架構本身以外,也應 04/15 04:54
22F:→ birdhackor:該稍微注意程式碼本身的排版,python有個不錯的指引 04/15 04:55
23F:→ birdhackor:http://www.python.org/dev/peps/pep-0008/ 04/15 04:55
24F:→ birdhackor:上面是英文的 要翻譯版可以看這裡 http://j.mp/HUrUoq 04/15 04:55
25F:→ birdhackor:關於精進程式碼 有篇文章我覺得挺值得看看 04/15 04:59
26F:→ birdhackor:http://www.jaceju.net/blog/archives/1913/ 04/15 04:59
27F:→ birdhackor:精進你的程式碼 - 從取得用戶端 IP 的函式談起 04/15 04:59
28F:→ birdhackor:整個function很短,是個不錯的例子 04/15 04:59
29F:→ legnaleurc:你可以回文 ... 04/15 14:51







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP