Skip to content

Instantly share code, notes, and snippets.

View felipeblassioli's full-sized avatar
🏠
Working from home

Felipe Blassioli felipeblassioli

🏠
Working from home
  • Brazil, São Paulo
View GitHub Profile
{% macro form_field(field) -%}
{% set with_label = kwargs.pop('with_label', False) %}
{% set placeholder = '' %}
{% if not with_label %}
{% set placeholder = field.label.text %}
{% endif %}
<div class="control-group {% if field.errors %}error{% endif %}">
{% if with_label %}
<label for="{{ field.id }}" class="control-label">
{{ field.label.text }}{% if field.flags.required %} *{% endif %}:
from flask import Flask
from wtforms import Form, Field, TextField, FieldList, SelectField
from wtforms.widgets import TextInput, html_params, ListWidget
class H4ckedFieldList(FieldList):
widget = ListWidget(prefix_label=False)
class SomeRandomForm(Form):
name = TextField('Name')
@felipeblassioli
felipeblassioli / flask_wtforms_custom_widget.py
Last active January 8, 2024 01:40
Creating custom wtforms.widgets in a Flask.app. Custom Form, Custom Field and Custom Widget.
from flask import Flask
from wtforms import Form, Field, TextField
from wtforms.widgets import TextInput, html_params
# http://wtforms.simplecodes.com/docs/0.6/widgets.html#custom-widgets
def render_ul_users(field, ul_class='awesome_class', **kwargs):
kwargs.setdefault('id', field.id)
if hasattr(field, 'users'):
html = [u'<ul %s>' % html_params(id=field.id, class_=ul_class)]
# A sure hope users is iterable:
@felipeblassioli
felipeblassioli / seletiva_vtx_sol
Created April 4, 2013 18:08
Soluções da prova de seleção da VTX
Bolei a prova para que fosse feita em média por bons candidatos nos seguintes tempos:
+-----------------------------------------------------------------+
| QUESTÕES | TEMPO (min) | TIPO |
+-----------------------------------------------------------------+
| 1,2 | 30 min | Lógica |
| 3,5 | 60 min | Programação |
| 4,6 | 30 min | Leitura e Simulação de código |
| 7 | ------ | Confiança nas respostas |
+-----------------------------------------------------------------+
O intuito era que as questões 1,2,6 fossem fáceis e fossem feitas rápido (nos primeiros 30-40min).