2006年01月11日 星期三 15:35
欢迎! 在 06-1-11,风向标-Vane<vaneoooo at gmail.com> 写道: > limodou兄: > 您好。 > > > 昨天刚开始看您的Django教程,我学了一点C++,Python学的也不是很全,认真的把教程看到了类部分就停止了。因为主要方向是python的web开发,所以把重心移动到django上。 > > > 我对web下的python程序有诸多疑问,如果您有时间的话,希望您能给予指导。以下以您的django学习(2)中的例子: > > > > > from django.utils.httpwrappers import HttpResponse > > # > 关于from……import……语句,我个人看的是简明教程,按我对教程的理解,from……import……调用的是某模块的某方法,即from > (我们要调用的模块的名字)impor > (我们要调用该模块中的哪一个方法),通常使用在不将该模块全部载入,仅调用所需部分,以缩减程序运行开销的地方。 > 如果照这个理解,是否可以认为是调用名为 > django.utils.httpwrappers模块中的HttpResponse方法? python中处于其它模块中的东西,如类,变量等都可以导入。而且必须导入后方可使用。因此上面就是将HttpResponse从django.utils.httpwrappers导入到当前名字空间中。 > > text = """""" > > #以上这段,大致还能理解,将网页结构(或内容赋予text变量),我有html开发的经历,有点不能懂的是,该add文件与上一节所讲的helloworld.py文件同在一个目录,为何会展现为add目录?莫非是修改urls中那句r'^add/$',的原因? 上面其实是定义了一个标准的html的代码。action="/add/"是对应了后台web server上的一个链接,它可能是运行真正的文件,也可能不是真正的文件。这里只是一个名字。正如你所说r'^add/$'的作用就是将add与真正的模块方法进行映射。这样当浏览器向web server请求/add/时,其实是由django根据urls.py中的配置调用了它对应的模块的方法。/add/不叫目录,它是一个url。 > > def index(request): > #还有个疑惑点就是这里了,关于request参数,到底传递进去了什么呢?由系统传递?其作用是? > if request.POST.has_key('a'): > > # -_-!! > 这句连带上面request的原因,也连带疑惑了,似乎是一个系统内置的模块或者类?以下的句子也因为没搞明白request,所以看起来比较晦涩。 > request是django自动生成的一个对象,是对象!它处理了许多东西,有许多的属性可以使用,比如GET,POST,REQUEST等,分别表示从浏览器提交的数据,当然还有其它一些与CGI相关的一些环境值,还有session值等。具体的内容要看 request_response文档。 > > a = int(request.POST['a']) > b = int(request.POST['b']) > else: > a = 0 > b = 0 > return HttpResponse(text % (a, b, a + b)) > > 都是一些小菜问题,不过由于实际编写经验少(几乎没有),所以很多东西迷惑的很,还望limodou兄多指教了。 有问题就问。 不过建议在邮件列表中问,可以大家一起讨论。此信我转到邮件列表中去了。 -- I like python! My Blog: http://www.donews.net/limodou NewEdit Maillist: http://groups.google.com/group/NewEdit
Zeuux © 2025
京ICP备05028076号