Publicações com a etiqueta "dica"
Extensões essenciais para Mozilla Firefox
Sou um antigo usuário do Epiphany (navegador oficial do projeto GNOME) e era feliz, mas hoje em dia eu estou utilizando o Mozilla Firefox devido as suas várias extensões (addons) para desenvolvimento web.
Poderia até utilizar os dois navegadores (e utilizava) sendo o Firefox apenas para desenvolvimento, mas é muito mais agradável manter todo seu histórico, marcadores e tudo mais em um único navegador porque, queira ou não, você acaba utilizando os dois para navegação.
Porém nem tudo são flores! Considero a usabilidade do Epiphany superior e voltar ao Firefox não foi fácil, principalmente - acredite - devido a duas extensões do Epiphany relacionado às abas.
Felizmente há um tempo atrás eu encontrei duas extensões equivalentes para o Firefox, são elas:
A primeira faz com que toda nova aba seja inserida logo após a aba em que você está, mantendo uma maior organização de suas abas. Uma mão na roda para quem mantém muitas abas abertas e recorrentemente precisa percorrer uma longa lista de abas para encontrar as novas que, por padrão, são abertas no final.
Já a segunda extensão mantém o histórico da aba do link de origem, ou seja, se você abre um link em uma outra aba, todo o histórico da aba onde continha o link vai junto.
Sua vida muda depois de ativar essas duas extensões! Aproveito também para listar outras extensões úteis para seu dia-a-dia:
E como não poderia faltar, segue as extensões que uso para desenvolvimento web que todo já deve conhecer:
- Firebug
- Firecookie
- YSlow
- Web Developer
- ColorZilla
No mais, fico no aguardo de uma versão estável do Epiphany com a engine WebKit.
Pré-inicializando formulários de um FormWizard
Se você precisa pré-inicializar dados de formulários num FormWizard do Django, você consegue da seguinte forma:
my_wizard = MyWizard(
[StepOneForm, StepTwoForm],
initial={
1: {field_x: data, field_y: data, ...},
2: {field_x: data, field_y: data, ...},
...
}
)
Certo? Ok, mas e se eu quiser inserir estes dados dinamicamente, de acordo com o usuário logado no site?
A forma que eu encontrei de fazer isso foi sobrescrevendo alguns métodos da classe FormWizard. Veja um exemplo:
from django.contrib.formtools.wizard import FormWizard
class MyWizard(FormWizard):
def parse_params(self, request, *args, **kwargs):
self.user_data = {
'first_name' = request.user.first_name,
'last_name' = request.user.last_name
}
def get_form(self, step, data=None):
if step == 1:
return self.form_list[1](data, prefix=self.prefix_for_step(1),
initial=self.user_data)
else:
super(MyWizard, self).get_form(step, data)
...
Não conhece o form wizard do Django? Leia mais a respeito na documentação oficial do utilitário.