Skip to content

Instantly share code, notes, and snippets.

@JuniorLima
JuniorLima / menu.py
Created October 16, 2013 11:39
menu.py
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from admin_tools.menu.models import *
# to activate your custom menu add the following to your settings.py:
#
# ADMIN_TOOLS_MENU = 'calloway.menu.CustomMenu'
class CustomMenu(Menu):
def __init__(self, **kwargs):
super(CustomMenu, self).__init__(**kwargs)
@JuniorLima
JuniorLima / pagseguro.html
Created November 8, 2013 04:03
Pagseguro XML
<!-- INICIO FORMULARIO BOTAO PAGSEGURO -->
<form target="pagseguro" action="https://pagseguro.uol.com.br/checkout/v2/cart.html?action=add" method="post">
<input type="hidden" name="receiverEmail" value="[email protected]" />
<input type="hidden" name="currency" value="BRL" />
<input type="hidden" name="itemId" value="036854" />
<input type="hidden" name="itemDescription" value="{{ nomedoproduto }}" />
<input type="hidden" name="itemQuantity" value="{{ quantidade }}" />
<input type="hidden" name="itemAmount" value="{{ precodoproduto }}" />
<input type="hidden" name="itemWeight" value="" />
<input type="hidden" name="itemShippingCost" value="0.00" />
@JuniorLima
JuniorLima / settings.py
Created November 20, 2013 12:16
Servir arquivos estáticos localmente - Danilo Teixeira
import os
PROJECT_DIR = os.path.dirname(__file__)
PROJECT_ROOT_PATH = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = os.path.join(PROJECT_DIR, '..', 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, '..', 'static'),
@JuniorLima
JuniorLima / Error
Created December 3, 2013 13:52
bad interpreter: Too many levels of symbolic links
vagrant@precise64:~/.virtualenvs/djangoproj$ /home/vagrant/.virtualenvs/djangoproj/bin/pip
-bash: /home/vagrant/.virtualenvs/djangoproj/bin/pip: /home/vagrant/.virtualenvs/djangoproj/bin/python2.7: bad interpreter: Too many levels of symbolic links
@JuniorLima
JuniorLima / read.me
Created December 11, 2013 13:56
Providing initial data for models
#Dump de todos os models do projeto
python manage.py dumpdata --indent=4 > site.json
python manage.py dumpdata --indent=4 > initial_data.json
#Dump de todos os models de uma app
python manage.py dumpdata app --indent=4 > app.json
#Dump de apenas um model de uma app
python manage.py dumpdata app.model --indent=4 > model.json
@JuniorLima
JuniorLima / admin.py
Created December 19, 2013 15:23
Personalizar formulário do admin do Django com base no usuário - Dois exemplos diferentes
class MyModelAdmin(admin.ModelAdmin):
def get_fieldsets(self, request, obj=None):
if obj:
return [(None, {'fields': ('field_c', 'field_b')})]
return [(None, {'fields': ('field_a', 'field_b', 'field_c')})]
def get_form(self, request, obj=None, **kwargs):
if obj:
defaults = {'exclude': ('field_a',)}
else:
@JuniorLima
JuniorLima / admin.py
Created December 24, 2013 19:12
Puxar JS no Admin do Django
class VideoAdmin(admin.ModelAdmin):
class Media:
js = ('/js/tiny_mce/tiny_mce.js', '/js/textareas.js')
fieldsets = [
('Principais', {'fields':(('publicar'),('titulo'),'subtitulo', ('conteudo'),)}),
('Mídia', {'fields':('url','imagem')}),
]
list_display = ['titulo', 'cliques']
list_filter = ['publicar']
search_fields = ['titulo']
@JuniorLima
JuniorLima / models.py
Last active January 1, 2016 17:59
Modelo de banco de notícias com classe abstrata ou não.
class BaseNoticia(models.Model):
publicar = models.BooleanField(default=True)
destaque = models.BooleanField(default=False)
titulo = models.CharField(max_length=100, unique=True)
conteudo = models.TextField('Conteúdo')
slug = models.SlugField(max_length=150, blank=True, unique=True)
criado_em = models.DateTimeField(auto_now_add=True)
atualizado_em = models.DateTimeField(auto_now=True)
cliques = models.IntegerField('Cliques', default=0, editable=False)
@JuniorLima
JuniorLima / models.py
Created January 8, 2014 13:48
Puxar lista de imagens de uma galeria
class Galeria(models.Model):
publicar = models.BooleanField(default=True)
destaque = models.BooleanField(default=False)
nome = models.CharField(max_length=30)
class Foto(models.Model):
img = ImageField('Imagem do projeto', upload_to=rename_file_and_upload_to)
galeria = models.ForeignKey(Galeria, blank=True, null=True)
@JuniorLima
JuniorLima / views.py
Last active January 2, 2016 17:18
Dado uma view. roticia: Traz a noticia - OK relacionados: Traz as que estão na mesma categoria - OK ultimas: Trazer as ultimas, excluindo as relacionadas - ERRO Gostaria de trazer os resultados ultizando exclude.
def noticia(request, slugcategoria, slug):
# Trago a noticia
noticia = get_object_or_404(Noticias, categoria_nome__slugcategoria=slugcategoria, slug=slug, publicar=True)
# Trago a relacionada
relacionados = Noticias.objects.filter(categoria_nome=noticia.categoria_nome).exclude(pk=noticia.pk).order_by('-criado_em')[:5]
# Quero trazer as ultimas, menos as relacionadas. Aqui é o erro
ultimas = Noticias.objects.filter(publicar=True).exclude(id=relacionados).order_by('-criado_em')[:5]
return render_to_response('juvenis/noticia.html',locals(),context_instance=RequestContext(request))