def clean_password(self): p1 = self.cleaned_data['password'] p2 = self.data['password2'] if p1 != p2: raise forms.ValidationError(_('两次输入的密码不匹配')) return p1
# length of the models NAME_LENGTH = 32 EMAIL_LENGTH = 64 TITLE_LENGTH = 45 DESCRIPTION_LENGTH = 1000 ADDRESS_LENGTH = 1000 URL_LENGTH = 4096 TEXT_LENGTH = 8192 SECONDS_PER_HOUR = 3600 # choices USER_GENDER_CHOICES = ( ('M', _('男')), ('F', _('女')), ) USER_OCCUPATION_CHOICES = ( ('IN', _('互联网')), ) USER_COUNTRY_CODE_CHOICES = ( ('+86', _('中国')), ) USER_EDUCATION_CHOICES = ( ('M', _('研究生')), )
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.core.validators import RegexValidator import re from django.forms.fields import CharField from cuba.utils.alias import tran as _ TAG_ERROR_MESSAGE = _('标签只能包括汉字和英文字符') tag_re = re.compile(r'^[\sa-zA-Z\u4e00-\u9fcb]+$') validate_tag = RegexValidator(tag_re, TAG_ERROR_MESSAGE, 'invalid') TITLE_ERROR_MESSAGE = _('标题只能包含汉字,英文字符,数字和-') title_re = re.compile(r'^[\-\sa-zA-Z0-9\u4e00-\u9fcb]+$') validate_title = RegexValidator(title_re, TITLE_ERROR_MESSAGE, 'invalid') class TagField(CharField): default_error_messages = { 'invalid': TAG_ERROR_MESSAGE, } default_validators = [validate_tag] class TitleField(CharField): default_error_messages = { 'invalid': TITLE_ERROR_MESSAGE, } default_validators = [validate_title]
from cuba.utils.alias import tran_lazy as _ from django.utils.datetime_safe import datetime from hashlib import md5 import logging logger = logging.getLogger(__name__) CODE_LENGTH = 128 CONTENT_STATUS_DRAFT = 1 CONTENT_STATUS_OPEN = 2 CONTENT_STATUS_PRIVATE = 3 CONTENT_STATUS_CHOICES = ( (CONTENT_STATUS_DRAFT, _("草稿")), (CONTENT_STATUS_OPEN, _("公开发表")), (CONTENT_STATUS_PRIVATE, _('私密发表')), ) class Displayable(Expirable): class Meta: abstract = True """ Abstract model that provides features of a visible page on the website such as publishing fields. Basis of pages and . """ publish_status = models.IntegerField(_('发布状态'),
def clean_username(self): username = self.cleaned_data['username'] if User.objects.filter(username=username).exists(): raise forms.ValidationError(_('用户名已存在')) return username
def nav_menu(request): return { 'request': request, 'nav_buy': { 'title': _('我要买'), 'url': '#', 'items': [ (_('猜我喜欢'), '#', 1), (_('-'), '#', 0), (_('即将出发'), '#', 0), (_('热门活动'), '#', 0), (_('新品上线'), '#', 0), (_('精品指南'), '#', 0), ] }, 'nav_sell': { 'title': _('卖家中心'), 'url': '#', 'items': [ (_('已售出的活动'), '#', 0), (_('正在出售的活动'), '#', 0), ] }, 'nav_my_cuba': { 'title': _('我的途客圈'), 'url': '#', 'items': [ (_('已买到的活动'), '#', 0), (_('我的好友'), '#', 0), (_('最新动态'), '#', 0), ] }, 'nav_activity_center': { 'title': _('商品中心'), 'url': '#', 'items': [ (_('即将出发'), '#', 0), (_('热门活动'), '#', 0), (_('-'), '#', 0), (_('新品上线'), '#', 0), (_('精品指南'), '#', 0), ] }, 'nav_help_center': { 'title': _('帮助中心'), 'url': '#', 'items': [ (_('如何成为旅行家'), '#', 0), (_('如何创建旅行活动'), '#', 0), (_('-'), '#', 0), (_('如何购买旅行服务'), '#', 0), (_('如何评价'), '#', 0), ] } }