Archive for category Django

50 programas para diversas áreas da fotografia

MacOS X é uma plataforma popular para fotógrafos profissionais, e oferece uma enorme gama de softwares ajudam a melhorar suas fotos, pós-processamento, vender as imagens, e publicá-las, para que outras pessoas possam ver. Seja você um completo amador ou um profissional experiente, este Roundup terá algo de novo para mostrá-lo.
Nós estaremos cobrindo 50 fantásticas aplicações para diversas áreas da fotografia: organizar, pós-processamento, geo-tagging, panoramas, imagens HDR, fazer upload / compartilhamento de imagens, e muito mais.

Organizar & Editando Fotos

  • apertureiPhoto - É um programa básico para o MacOS X, o iPhoto packs tem uma vasta gama de funcionalidades e integra brilhantemente com todo o outro software no Mac.
  • Adobe Photoshop Lightroom – Se voce necessita de uma organização profissional para fotografia, essa é a ferramenta completa, com poderosos recursos de edição. Você pode rapidamente importar, transformar, gerenciar e visualizar as suas imagens.
  • Aperture - Tendo melhorado muito nas últimas versões, Aperture oferece agora uma boa maneira de melhorar imagens, gerir bibliotecas e fornecer edição das suas fotografias, fantásticas.
  • Capture One Pro – A escolha de profissionais experientes, Capture One Pro funciona bem para fotografar e oferece uma ferramenta sólida para um RAW.
  • Picasa – do Google, aplicativo de gerenciamento de fotos gratuito, o Picasa é amigável e simples de usar. Faltam as características inovadoras encontradas em versões recentes do iPhoto, mas se voce precisa de um software para gerenciamento de imagens gratuíto, o Picasa é uma boa solução.
  • Bibble – Outra ferramenta útil para gerenciamento de arquivos RAW, útil para organizar as fotografias com uma vasta gama de edição e funcionalidades.
  • Shoebox – Uma solução sólida para organizar todas as suas fotografias por conteúdo, com uma interface bem adaptada às telas widescreen.
  • JetPhoto Studio – Uma forma fácil e divertida de gerenciamento de fotos com uma série de formas de edição e exportação (incluindo a criação automática de Galerias de Fotos em Flash).
  • Photoshop Elements – Se voce precisa apenas de poucos recursos do Photoshop, mas quer trabalhar com a confiabilidade e interface Adobe, essa é a pedida, construído sobre a base sólida do Adobe Photoshop voce consegue funções básicas mas não menos importantes para editoração e tratamento de imagens.

Pós-Processamento

  • photoshopAdobe Photoshop - foi um líder da indústria por muitos anos, e é extremamente poderoso, mas tem um preço alto, para semi-profissionais ou amadóres.
  • Pixelmator - Um aplicativo incrivelmente rápido para edição de fotos, ele utiliza várias características do Leopard que aumentam a velocidade e o desempenho na hora de edição, tratamento e manipulação. Definitivamente vale dar uma olhada.
  • Seashore - A aplicação nativa construída sobre o núcleo do GIMP, proporcionando uma qualidade na edição de fotos com uma solução gratuita.
  • Corel Painter X – Tem um ângulo ligeiramente diferente, este aplicativo tenta simularmeios tradicionais associados com o desenho e a pintura.
  • Acorn - Um programa notável, mas um simples editor de fotografia para OS X, com ótimos Brushs para auxiliar na manipulação criação de fotos.
  • Picturesque - útil para adicionar os últimos retoques para uma fotografia, tais como as bordas, sombras, perspectivas, reflexões etc
  • PhotoComplete – Similar a Acorn, PhotoComplete é um editor de imagem básico e fácil de compreender sua interface.
  • Prizmo - Este aplicativo permite ao usuário mudar facilmente a perspectiva de uma fotografia, e essencialmente “escanear” usando uma câmera digital. Fascinante esse recurso.

Automação

  • automatorAutomator – É uma automação interna do MacOS X, que pode executar uma série de ações com a fotografia, um item muito importante é a quantidade de plugins disponíveis para o programa.
  • iMagine Photo – Outra ferramenta para automatizar a sua imagem de transformação do fluxo de trabalho. Você pode escalar, mesclar imagens, aplicar filtros e rotacionar.
  • EasyBatchPhoto – Permite processar centenas (ou milhares) de imagens com um simples arrastar e soltar, com uma interface simples e intuitiva.
  • PhotoDrop – Um utilitário simples que permite criar pequenos, tarefa tediosas de modificar ou renomear uma pasta de imagens em um simples arrastar e largar operações.

Fotografias HDR

  • hydraPhotomatix – um software amplo para tratamento HDR, com tom de mapeamento e exposição fusão. Ele funciona como uma aplicação autônoma, ou como um plugin para o Photoshop ou Aperture.
  • Qtpfsgui – Apesar do nome um pouco estranho, esta ferramenta é totalmente open source e oferece um caminho livre para iniciar um trabalho em HDR.
  • Hydra – com uma interface amigável, correspondência automática de imagens e um plug-in para o Aperture, vale dar uma olhada no Hydra.
  • SilverFast - oferece um vasto conjunto de funcionalidades avançadas. Não muito mas não tem uma interface muito amigável.
  • Bracketeer – oferece uma funcionalidade de auto-alinhamento e pode criar fotos HDR supostamente muito melhor do que imagens no Photoshop. Você pode ser o juiz!
  • FDRTools – Outra ferramenta similar para combinar imagens, tons de mapeamento, e exportar em uma vários de formatos diferentes.

Foto Panoramica

  • panoramaPanorama Tools – Uma página com informações técnicas parece sugerir que este é um grande conjunto de ferramentas para visualização de fotos panoramicas. Também disponível como um plugin para o Photoshop.
  • Double Take – um programa muito simples, com interface amigável que é uma boa opção para quando você não consegue enquadrar aquelas cenas muito grande.
  • PhotoWarp – Capaz de produzir alguns fotos fascinante circular e panoramas.
  • Flexify – Permite que você dobre e estique uma fotografia aparentemente em qualquer formato, criando alguns efeitos realmente impressionante.
  • Panorama2Flash – Apoio para a conversão do grupo de fotos com a possibilidade de exportar para o Flash, torna este aplicativo uma alternativa interessante àqueles anteriormente mencionados.

Upload & Compartilhamento

  • iwebFlickr Uploadr – Um simples aplicativo mas fantastico, para fazer o upload de suas fotos para o Flickr e garantindo que permaneçam organizados como você gostaria.
  • Facebook iPhoto Plugin – Um simples plugin para fazer upload de imagens diretamente para a Facebook. Muito melhor do que a ferramentas baseadas na web.
  • iStockPhoto Aperture Plugin – Se você vender as imagens através iStockPhoto, este plugin irá agilizar muito o processo.
  • iWeb – útil para a criação rápida, tem recursos de templates de galerias e apresentações de fotos a partir de imagens já contida no iPhoto ou Aperture.
  • PictureSync – Oferecendo uma central de controle para etiquetar e organizar fotos para fazer upload de uma vasta gama de diferentes serviços online.
  • Smilebox – Um divertido e simpático serviço de scrap-booking, criação de cartões, com rapidez e compartilhamento de imagens.

Geotagging

  • geophotoGeophoto – Veja as imagens a partir de uma perspectiva nova, iniciar a marcação por localização. É possível importar fotos diretamente do iPhoto ou Aperture e compartilhá-los no Flickr.
  • PhotoLinker – A solução profissional que pode se integrar com o GPS, tentando colocar as suas fotografias automaticamente geo-posição correta.
  • GeoTagger – Uma programa para inserir coordenadas do GPS em suas fotos, que integra com o Google Earth.
  • HoudahGeo – geomarcação tanto para fins de arquivo, quanto na publicação para o Google Earth, Flickr ou locr. Também é capaz de combinar fotos para um GPS veicular.
  • PhotoGPSEditor – fácil de usar, utiliza editor de meta-dados, e é possível combinar dados de GPS (gpx ou NMEA) nos arquivos. Aplicativa free.
  • Trails para iPhone – Se você tem um iPhone, Trails é uma forma fantástica para monitorar exatamente onde você está para mais tarde geomarcação. Não requer uma conexão à Internet – um grande momento para viajar.

Backup & Recuperação

  • compactflashCameraSalvage – recupere suas fotos de cartões flash formatados ou corrompidos ou de outra câmera digital. É possível recuperar dados de cartões de memória, discos rígidos, CD-ROM, dispositivos externos, Apple iPod, e muito mais.
  • Salvage – é uma ferramenta para recuperar imagens de câmera digital com cartões de memória corrompido.
  • ImageRecall – irá fazer o melhor para recuperar todas as fotos de um cartão corrompido ou de um cartão que teve acidentalmente as fotos apagadas.
  • Time Machine – é uma solução do MacOS X Leopard, tudo o que você necessita é um disco rígido externo, para manter uma cópia de seu site ou fotos localmente seguros.
  • Dropbox – eu uso como um meio de manter um backup de segurança para documentos importantes (embora, também é uma ótima solução para voce manter vários computadores em sincronia!)
  • SuperDuper – Se quiser manter uma cópia de segurança do seu Mac, SuperDuper é uma excelente solução.

Tags: , , , , , , , , , , , , , , , , ,

No Comments

Ajax no Django com jQuery

Como usar Ajax com o Django?

Essa é uma grande pergunta principalmente para os iniciantes. Usar Ajax juntamente com o Django é muito simples como praticamente tudo neste framework. O que irei usar aqui é o framework JavaScript chamado jQuery, que será usado para enviar a requisição e interpretar o retorno em formato json dos dados.

Vamos a prática, o link para download do código fonte está no final do artigo.

Crie um projeto novo:

django-admin.py startproject DjangoAjax

Dentro da pasta do projeto crie uma aplicação:

python manage.py startapp contatos

Ainda dentro da pasta do projeto crie os seguintes diretórios:

/media 
 |---/js 
/templates

Dentro da pasta /media/js/ coloque o arquivo do jQuery que pode ser baixado em http://jquery.com/ [jquery.com].
Não vou explicar aqui a parte de configuração do settings.py tendo em vista que basta algumas alterações simples e rotineiras como configurar o banco e a app instalada, e baixando o código fonte de exemplo você poderá ver como foi configurado o projeto.
Vamos ao models.py da aplicação “contatos”:

from django.db import models

class Contatos(models.Model):
    nome = models.CharField('Nome', max_length=40)
    telefone = models.CharField('Telefone', max_length=15, blank=True)
    celular = models.CharField('Celular', max_length=15, blank=True)
    email = models.CharField('E-mail', max_length=40, blank=True)

    class Meta:
        db_table = 'contatos' #define o nome da tabela no banco

    def __unicode__(self):
        return self.nome

Criada a classe Contatos e rodado o syncdb vamos ao nosso arquivo views.py:

# -*- coding: utf-8 -*-
from django.core import serializers
from django.http import HttpResponse
from django.shortcuts import render_to_response
from DjangoAjax.contatos.models import Contatos

def index(request):
    return render_to_response('index.html',)

def get_contatos(request):
    contatos = Contatos.objects.all()
    retorno = serializers.serialize("json",  contatos)
    return HttpResponse(retorno, mimetype="text/javascript")

Assim como o models, o views é muito simples, e apenas com a função “get_contatos” já temos como realizar a mágica do ajax com ou sem o framework jQuery ou usando um outro framework de javascript que preferir.
O que fazemos na função “get_contatos” nada mais é do que pegar todos os contatos da nossa tabela “Contatos” e usarmos o serializers do Django para transformar nossos dados em um formato json.
O serializers do django é um framework que traduz nossos objetos em um outro formato, são eles:

  • xml
  • json
  • python
  • yaml

Mais informações sobre o serializers pode ser encontrado aqui http://docs.djangoproject.com/en/dev/topics/serialization/?from=olddocs [docs.djangoproject.com].

Deixe seu arquivo urls.py assim:

from django.conf.urls.defaults import *
from django.contrib import admin
import os

BASEDIR = os.path.abspath(os.path.dirname(__file__))

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/(.*)', admin.site.root),
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': BASEDIR + '/media/'}),
    (r'^$', 'DjangoAjax.contatos.views.index'),
    (r'^get_contatos/$', 'DjangoAjax.contatos.views.get_contatos'),
)

A url media/ vai servir nossos arquivos estáticos, neste caso usaremos apenas o jquery.

Agora vamos olhar o nosso arquivo index.html que é usado em nosso views.py, vou mostrar ele em duas partes, o base.html é apenas um html base e não o mostrarei aqui sendo que ele pode ser visto nos fontes.

{% extends "base.html" %}
{% block head %}
<script type="text/javascript">
    $(document).ready(function(){
        $("#btnContatos").click(function(){
            $.ajax({
                type: "GET",
                url: "/get_contatos/",
                dataType: "json",
                success: function(retorno){
                    $.each(retorno, function(i, item){
                        $("#corpoTabela").append('<tr>' +
                        '<td>' +
                        item.fields['nome'] +
                        '</td>' +
                        '<td>' +
                        item.fields['telefone'] +
                        '</td>' +
                        '<td>' +
                        item.fields['celular'] +
                        '</td>' +
                        '<td>' +
                        item.fields['email'] +
                        '</td>' +
                        '</tr>');
                    });
                }
            });
        });
    });
</script>
{% endblock %}

Esta primeira parte, é onde a mágica realmente começa a acontecer, o que temos aqui é uma função atribuída a ação de click do botão “btnContatos”, esta função utiliza o recurso de ajax do jQuery.
Vamos detalhar um pouco a função, vou direto para o “$.ajax”:

type: "GET"

– Determina o método http, GET, POST …

url: "/get_contatos/"

- Nossa url declarada lá no urls.py

dataType: "json"

– O tipo de dados que a url vai retornar.

success: function(retorno){

- Caso tenhamos sucesso a função segue em frente.

$.each(retorno, function(i, item){

- Faz um laço e pega todos os itens do objeto “retorno”
Daqui em diante a tabela é montada usando o “append” para inserir as tags e os dados no html. Neste exemplo estou montando uma tabela mas você pode fazer o que quiser com os dados.

Agora a segunda parte, que nada mais é do que o html que vai receber os dados:

{% block conteudo %}
    <table id="contatos">
        <thead>
            <tr>
                <th>
                    Nome
                </th>
                <th>
                    Telefone
                </th>
                <th>
                    Celular
                </th>
                <th>
                    E-mail
                </th>
            </tr>
        </thead>
        <tbody id="corpoTabela">
        </tbody>
    </table>
    <input type="button" id="btnContatos" class="botao" value="Pegar Contatos">
{% endblock %}

Temos ali nosso botão que ao ser clicado chama a função atribuída ao evento click dele.
Pronto, era isso, muito fácil, prático e simples, com isso as possibilidades são enormes, você pode fazer muita coisa usando o jquery e o serializers do Django, agora o resto é com sua imaginação e criatividade.
Abraços e até a próxima!

Código fonte de exemplo: http://www.kenjiyamamoto.com/blog/files/DjangoAjax.zip

Não será divulgado!

Um site válido!

[ informação retirada do site do RFDev.org ]

Tags: , , , , , , ,

No Comments

Some Django tips and tricks pages that I’ve found helpful.

My current work involves working on some Web applications developed using Django. Although I’ve used Python much in the past, my experience with Django was quite limited. So I recently did some research to become more proficient with it, and will list below some of the Web pages that I found provided the most useful tips and tricks for when using Django.

  • Some Django tips: Although an older article, it also makes some good non-Django suggestions, like installing IPython and ensuring your project has a test suite.
  • Small Django tips from one newbie to another: Another older article, this one also emphasizes the need for unit testing, and gives some examples (with code) about how to go about this. It also discusses ways to manage frequent model changes during development.
  • Usefull tips to start a new project with Django: A slightly dated article that summarizes how to get started with Django, and well as some suggestions for when deploying a production Django application.
  • Django Tips: UTF-8, ASCII Encoding Errors, Urllib2, and MySQL: Gives useful tips about handling UTF-8 encoded strings. Although the project I’m working on thankfully didn’t make the mistake of using MySQL, this article does include some tips relating to string encoding and MySQL, which may be useful for some people.
  • Big list of Django tips (and some python tips too): This offers perhaps the greatest quantity of Django tips in a single page. It’s quite complete, covering areas such as deployment, configuration, templating and views, the model, testing, and so forth.
  • Tips for Scaling a Web App: While not completely Django-specific, it lists some good ideas for how to develop a database-backed Web application that scales well.
  • Django Tips: PIL, ImageField and Unit Tests: Gives some time-saving suggestions about using the Python Imaging Library with Django and unit tests.
  • Django Image Uploading: Tips and Tricks: Outlines how to upload images in Django apps, with some suggestions about how to solve some common problems.
  • 10 Insanely Useful Django Tips: I think the title of this article overhypes it somewhat. The tips are useful, but they are somewhat common-sense tips, as well. Although I haven’t tried it yet, this article did point me to django-debug-toolbar, which sounds like it might be useful.
  • ‘Practical’ tips for working with Django: Includes some suggestions regarding developing custom managers, wrapping generic views, and converting text to HTML before rendering the template.
  • Debugging Django: One of the more detailed articles I found suggesting some strategies for debugging Django applications.
  • Django development tips: Some ideas for setting up a long-running Django development server in a UNIX-like environment using GNU Screen. More advanced users of UNIX-like systems are probably familiar with this technique, but this article is still a useful reference and tutorial for newer users.
  • Django Tips – Unique Date Querysets: A quick suggestion about how to get all of the unique years and months for a data set such as the posts in a blog, or other timestamped data.
  • Favorite Django Tips & Features: This thread from Stack Overflow contains a variety of user-contributed tips. Some of them suggest software to use in conjunction with Django, including Jinja2.
  • Tips to keep your Django/mod_python memory usage down: Some deployment and configuration suggestions to reduce Django’s memory usage when using Apache and mod_python.
  • Django Doctest Tips: Some tips for testing Django applications using doctest. Suggests better ways to locate failures, to use conditionals, to check context variables, and to check content type relations.
  • djangotips on Twitter: I didn’t find the quality of these user-contributed tips as good as those from Stack Overflow or the other pages, but there were a few that seemed like they might be useful.
  • Django Tips, Vol. 1: Contains five tips covering topics like the difference between ‘blank’ and ‘null’, displaying multiple fields on the same line in the admin, and so on.
  • Django cheat sheet: Although this is a cheat sheet, and not really a Web page, this is one of the cleaner cheat sheets that I’ve seen. I’ve found it to be a useful reference so far.
  • Django performance tips: This article is also older, but many of its suggestions are very sensible and apply even when not using Django, such as using separate database and Web servers if possible, using PostgreSQL, and putting as much RAM as possible into the servers.

Of course, those are just a small sample of the many useful Django resources out there. But for those new to Django, reading through the articles about may help avoid some common pitfalls, as well as offer ideas to help become more productive while getting accustomed to Django.

Tags: , , , , , ,

No Comments