初学python

来源:互联网 发布:淘宝拍卖营业房税费 编辑:程序博客网 时间:2024/05/09 03:20
  1. “可能不存在的键值”:在获取python字典内的值的时候,如果数据不存在就会出发KeyError异常。所以为了优雅的处理这个方面的问题一般使用try/except语句,或使用python字典的get方法
  2. ‘|’ 操作符
    {% if books %}    <p>Found{{ books|length }}book {{books|pluralize}}.</p>    <ul>        {% for book in books %}        <li>{{ book.title }}</li>        {% endfor %}    </ul>{% else %}    <p>No books matched your search criteria.</p>{% endif %}
    在上面的代码中,books是一个列表对象。第一个‘|’操作符表示了books的长度,第二个过滤器在适当的时候会输出s。
  3. Form的cleaned_data属性。 这是一个包含赶紧的提交数据的字典。Django的form矿建不但校验数据,他还会把他们转化成相应的Python类型数据,这叫做清理数据。
  4. From里的textarea:应该被显示为textarea标签的表单默认是text标签。所以需要通过设置widget来完成所需要的功能。
    message=forms.CharField(widget=forms.Textarea)
  5. 为form添加额外的校验。也就是田间一个clean_message()方法。
    class ContactForm(forms.Form):subject = forms.CharField(max_length=100)email = forms.EmailField(required=False)message = forms.CharField(widget=forms.Textarea)def clean_message(self):message = self.cleaned_data['message']num_words = len(message.split())if num_words < 4:raise forms.ValidationError("Not enough words!")return message#Django的form系统会自动寻找匹配函数方法,该方法一clean_开头,并以字段名称为结束。如果有这样的方法,他将在校验时调用。
  6. Form指定标签 :HTML中生成的标签是自动生成的,如email会生成Email,下划线转化为空格。还可以通过制定标签来完成。
    class ContactForm(forms.Form):    subject = forms.CharField(max_length=100)    email = forms.EmailField(required=False, **label='Your e-mail address'** )    message = forms.CharField(widget=forms.Textarea)

原创粉丝点击