HTML表单验证和呈现

morf的Python项目详细描述


MORF-HTML表单验证和呈现

为什么使用morf?

因为您希望简洁地表达简单的表单:

from morf import HTMLForm, fields, validators

class ContactForm(HTMLForm):
    name = fields.Str(message='Please fill in your name')
    email = fields.Str(validators=[validators.is_email])
    message = fields.Str(validators=[validators.minwords(10)])

因为您希望能够表示自定义验证逻辑:

class BookingForm(HTMLForm):
    name = fields.Str(message='Please fill in your name')
    arrival_date = fields.Date()
    leaving_date = fields.Date()

    @validates(arrival_date, leaving_date)
    def check_name(self, arrival_date, leaving_date):

        # No minimum booking duration at weekends
        if arrival_date.weekday() in (SAT, SUN):
            return

        if (leaving_date - arrival_date).days < 3:
            self.fail('Sorry, the minimum booking is for 3 days')

因为您希望使用一个简单的api:

def my_view(request):
    form = BookingForm(request.POST)
    if form.isvalid:
        make_booking(form.data)
        ...
    else:
        show_error_page(errors=form.errors)

有关MORF的文档,请访问https://ollycope.com/software/morf/" rel="nofollow">https://ollycope.com/software/morf/

morf的源代码可以在https://bitbucket.org/ollyc/morf/" rel="nofollow">https://bitbucket.org/ollyc/morf/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX触控事件未触发Ubuntu 20.04触控笔记本电脑   java如何在AWT中关闭窗口?   java Dagger 2:注入具有构造函数参数的成员   创建对象的Java调用类   对象我想在A.java中添加两个数字,并在B.java中打印结果(如何?)   java如何使用AWS SDK for Android从数字海洋空间下载图像?   java Facebook sdk 4.0.1无法使用Android studio获取某些字段   4分钟后web应用程序(Angular 8和Rest API)中的java自动会话超时   在Eclipse for Java EE developers edition中禁用HTML警告   java按字母顺序排列字符串我错过了什么明显的东西吗?   java在Jshell中println和printf有什么不同