2011年11月

编写第一个Django程序(3)
ok,我们接着之前的第3篇,开始我们的最后一篇.

创建一个简单的表单

我们修改一个测试页面的模板(polls/detail.html).

<h1>{{ poll.question }}</h1>

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}

<form action="/polls/{{ poll.id }}/vote/" method="post">
{% csrf_token %}
{% for choice in poll.choice_set.all %}
    <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
    <label for="choice{{ forloop.counter }}">{{ choice.choice }}</label><br />
{% endfor %}
<input type="submit" value="Vote" />
</form>

简单说明一下:

1.上面的模板用单选框来展示一个民意测试的所有投票项.它的值就是对应的ID,他的名称就是对应选项的名称,他的作用就是当选中一个选项,然后提交表单,他将会传送一个post数据,choice=3

2. 我们把这个表单的action写作' 

/polls/{{ poll.id }}/vote/

',方法写为post.

3. forloop.counter指明循环多少次.

4. 既然我们创建了一个提交数据的表单,我们就需要关心注意 一下Cross site request forgeries.不错的是,你不需要担心怎么实现.Django已经内建通过支持了.简单的说,就是所有的post表单都指向到内部的一个地址,我们使用{% csrf_token%}标签完成.

阅读剩余部分

Clearsilver是what?
快速的和编程语言无关的html模板系统。不管是在静态的还是动态的web站点中,都能够提供视图和逻辑分离的功能实现。
1999年开始开发的,在很多的项目中都有使用。
为什么用它:
高性能和语言无关性 因为它是用c写的,然后在那些Python,Perl,Java,还有Ruby脚本语言中以模块的形式存在。所以非常之快!
修改方便 有一套很强大的模板,一次能够实现很多的效果。
国际化支持
高级特色 内建很多高级特性,例如gzip压缩传输,在线调试,去空格,宏编程,URL和JavaScript字符串转义等.

阅读剩余部分

接着我们的第二部分,我们继续.下面我们将要把注意力转移到创建视图部分.

原理:

在Django的程序中,一个视图就同属一类的网页.它提供特定的功能,拥有特定的模板.例如,一个博客程序你可能有以下一个视图:

  1. 首页,显示最近添加的文章.
  2. 文章的详细页面
  3. 基于年份的文章归档
  4. 基于月份的文章归档
  5. 基于天的文章归档
  6. 添加评论的动作-处理文章的评论

在我们的民意测试投票的程序中,我们需要有以下一些视图:

  1. index页.显示最近的民意测试投票项目
  2. 民意测试投票项目的详细页面,一个投票的所有问题,没有答案,只给吃一个投票的表单
  3. 投票的结果页
  4. 投票的动作,给特定的投票添加投票

在Django里,每一个视图都由一个简单Python函数来处理

阅读剩余部分

N.B. 是什么意思呢?

有很多意思的,不过常见的应该就是源于拉丁语的Nota bene.比较正式的场合用作留意提醒的意思.

正题:

Ubuntu11.10出来立刻体验了把.结果感觉很慢,好像硬件需求赶上了Win7了.还是回到10.04 LTS 版本吧.不过在这个版本下装jdk not openjdk的时候就有点麻烦.其实也不是很麻烦了,就是不爽.不过还是有办法的,也就是那么轻轻几下搞定!

之前吧,直接sudo apt-get install jdk会提示你没有源的.之所以没有源那就是源文件造成的呗.那我们就去看看到底源文件搞了什么鬼.我们来到这个地方:

/etc/apt/sources.list

打开它.你会发现有几个源是他们注释掉的.Ubuntu team 有他们自己的想法.希望有自己的特色.不过还是有开源精神的.毕竟就是搞这个的.人家提醒你了你可以用,而且地址也放在那里:


## Uncomment the following two lines to add software from Canonical's## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu lucid partner# deb-src http://archive.canonical.com/ubuntu lucid partner

好吧.到这里就什么都清楚了.取消注释.然后我们试试到底能够直接找到sun的 jdk不!

母ははは家中かちゅうをぴかぴかに磨みがき上あげた。

 

母は家中をぴかぴかに磨き上げた。