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灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP