初学python

  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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值