quinta-feira, 22 de setembro de 2011

Permissão somente para usuários do admin (staff_member)

As vezes, algumas views requer permissões mais rígidas, como por exemplo alguma view de integração, carga, ou até mesmo para dados sigilosos.

Para tal, basta utilizar o decorator staff_member_required, que permite apenas acesso aos membos da equipe.

Para fazer uso do mesmo basta importar em seu arquivo views.py ou admin_views.py :

from django.contrib.admin.views.decorators import staff_member_required

E na view utilizar como qualquer outro decorator:

@staff_member_required
def sua_view(request):
        #seu código aqui

sexta-feira, 16 de setembro de 2011

Correndo uma lista de valores similar a lista de impressão

Para uma entrada  1;2;3-6;7;8-10, por exemplo, assim como na impressão seria impresso as páginas 1, 2, de 3 a 6, 7 e de 8 a 10, precisei fazer um esquema para liberação de pedidos segundo essa entrada para liberar faixas distintas de pedidos.

Para tal, uso a def abaixo:

def corre_cadeia(lista_char, separador_item, identificador_lista):
 lista  = lista_char.split(separador_item)
 nova_lista = []
 for l in lista:
  if l.find(identificador_lista) == -1:
   nova_lista.append(int(l))
  else:
   inicio, termino = l.split(identificador_lista)
   inicio = int(inicio)
   termino = int(termino)
   i = inicio
   while i<= termino:
    nova_lista.append(i)
    i+=1
 return nova_lista

Ex:
>>> lista = '1;2;3-6;7;8-10'
>>> corre_cadeia ( lista, ';' , '-')
[1,2,3,4,5,6,7,8,9,10]

hasta!

segunda-feira, 8 de agosto de 2011

Script para geração de senhas com módulos nativos do python

Gerar senhas com um alto nível de segurança nunca foi tão fácil. Para tal, basta utilizar o código abaixo:

import string
from random import choice
size = 16
''.join([choice(string.letters + string.digits) for i in range(size)])


hasta!