Python Web编程(七)

真是堕落,时隔一年半,我才更新了一篇。
这个期间,Django也有了更新,Python也更新了好几个版本,我却没有丝毫的进步,真是罪过......
好了,言归正传,前面介绍了Url、模板、数据库方面的知识,有了这些基本上就可以搞定一个简单的应用了,这次就把以前的知识融合起来,做一个单表的学生管理系统,很简单,增删改查。

在你的工程下,新建一个应用:python manage.py startapp students,然后修改settings.py中的INSTALLED_APPS,把这个新应用加进去。

这么一个管理系统,当然是数据库先行,在models.py中建一个模型吧。
model

模型里面用到的那些EmailField、URLField什么的,我就不介绍了,大家自己查一下吧。
别忘了同步一下数据库,manage.py syncdb

接下来就是HTML了,这个HTML我还真花费了点时间来做,大家来看看students.html:
HTML

效果是,每一条数据后有两个Button,分别是Modify和Delete,这两个Button所需要的参数{{student.id}}是Django给我们加的,因为我没有指定模型的主键,它就自动给加了一个自增长的主键。

数据的最下面就是一个Add Button,这三个Button都是通过JS来实现Url跳转的,而且方式不太一致,大家可以仔细看一看JS中的三个方法。

到这里,Url已经可以基本确定了:
    (r'^$', 'students.views.all'),
    (r'^modify(\d+)/', 'students.views.modify'),
    (r'^delete(\d+)/', 'students.views.delete'),
    (r'^add/', 'students.views.add'),

好,先暂停一下,不要就这么把这些Url加到工程的urls.py中去,我们这样做:
在students这个应用中建一个urls.py文件,把上面几个Url加到这里,然后我们修改工程的urls.py,
把下面这句加到工程的urls.py中:
(r'^students/', include('mysite.students.urls')),
这样,以后我们只需修改自己应用的urls.py了。

当然了,你不会把之前的那个Html放到整个工程下面了吧。拿出来吧,在我们的应用下面建一个文件夹templates,这个应用的HTML都放到这里。然后把这个路径加到工程的settings.py中。不会不知道那个节点吧?是TEMPLATE_DIRS节点。

剩下的就是修改信息的HTML页面了,Esay,下面就是student.html:
modify

到此为止,urls.py已经确定了,加入最后一个:
    (r'^update/', 'students.views.update'),

好了,即将大功告成,我们只剩下views.py了,这个就简单了,只是控制一下页面跳转,还有更新数据库了。
Code

让我们试一下吧。
manage.py runserver

没有错误的话,http://127.0.0.1:8000/students/,这个就是正确的地址,自己试一下吧。


做到这里,不知道聪明的你发现了没有,student.html里面的代码很罗嗦,有没有办法简洁一些呢?
另外怎么页面输入什么都是可以的啊?

欲知怎样解决,请听下回分解!




posted on 2008-12-26 20:01  Game_over  阅读(1744)  评论(1编辑  收藏  举报