Django com MySQL, JQuery, Ajax e JSON - Parte 1

Postado em 11 de novembro de 2008 na categoria Django |  

Introdução

Django é um framework MVC para desenvolvimento web escrito em python. Proporciona velocidade no desenvolvimento, código limpo e organizado e uma poderosa ferramenta de administração.
Essa é a primeira parte de uma série de artigos sobre como criar um sistema de gestão de provedor de internet utilizando Django, MySQL, Javascript (JQuery), Ajax com JSON, CSS e Linux. No momento abordaremos apenas a parte de cadastro de clientes.
Para melhor entendimento, é desejável conhecimento básico em desenvolvimento web, Python e Linux.
Instalação, características, manual e outras informações podem ser encontradas no site Django Brasil.

Sobre o Sistema

Como forma de estudo, resolvi portar as funcionalidades básicas de um sistema antigo que desenvolvi em PHP para Django. Trata-se de um sistema de gestão de provedor de internet, que possibilita o cadastro de clientes, controle de banda, regras de firewall, fluxo de caixa e relatórios gerenciais, interagindo com ferramentas em ambiente Linux. Chamaremos nosso sistema de Sigep - Sistema de Gestão de Provedor. Nome nada criativo, eu sei, mas vamos deixar assim mesmo.

Iniciando

O sistema completo será desenvolvido em Linux, utilizando softwares específicos para o mesmo. É possível desenvolver em Windows e MacOS X, porém o ambiente de produção necessariamente deve ser Linux. Abaixo a descrição do ambiente de desenvolvimento utilizado:

Sistema Operacional: Ubuntu 8.04
IDE/Editor: Komodo Edit para códigos do Django e Geany 0.13 para HTML e CSS
Banco de Dados: MySQL 5.0
Linguagem: Python: 2.5 e Django 1.0

Instalação

Não será abordado o processo de instalação nesse artigo. No site www.djangobrasil.com tem um ótimo tutorial de instalação em Windows e Linux.

Projeto Vs. Aplicação

Em Django, projeto é o sistema no todo e aplicação é um módulo desse sistema. No nosso projeto Sigep, teremos várias aplicações (módulos), que são: cliente, rede, relatório, etc. Você pode criar uma única aplicação contendo toda funcionalidade do sistema, porém isso deixaria o código mais extenso e de difícil manutenção.

Criando o Projeto

Abra um terminal, entre no diretorio onde deseja trabalhar e crie o projeto com o script django-admin.py.

gu@notebook:~$ mkdir projetos
gu@notebook:~$ cd projetos
gu@notebook:~$ django-admin.py startproject sigep
gu@notebook:~$ cd sigep
gu@notebook:~$ ls sigep
__init__.py manage.py settings.py urls.py

O django-admin.py criou um diretório com o nome do projeto contendo os seguintes arquivos:

__init__.py: Arquivo vazio. Serve apenas para identificar que é um pacote python
manage.py: Script para gerenciar o projeto no django
settings.py: Arquivo de configuração do projeto
urls.py: Onde é definido o mapeamento das URLs

Configurando o Projeto

Vamos editar o arquivo settings.py e incluir as linhas abaixo:

1
2
import os
LOCAL = lambda *args:os.path.join(os.path.dirname(__file__), *args)

As linhas acimas criam uma função para retornar o caminho absoluto do diretório do nosso projeto. Agora vamos alterar as seguintes variáveis:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
DATABASE_ENGINE = 'mysql' 
DATABASE_NAME = 'sigepdjango'   
DATABASE_USER = 'usuario_do_mysql_aki'   
DATABASE_PASSWORD = 'senha_do_usuario_do_mysql_aki' 
 
TIME_ZONE = 'America/Sao_Paulo'
 
LANGUAGE_CODE = 'pt-br'
 
MEDIA_ROOT = LOCAL('files')
 
TEMPLATE_DIRS = (
    LOCAL('templates')
)

O que fizemos acima foi configurar o projeto para acessar nosso banco de dados no MySQL, ajustar o timezone e idioma de acordo com o Brasil, setar o MEDIA_ROOT, que é o diretório onde nossos arquivos externos serão armazenados e definir o diretório templates onde nossos arquivos HTML ficarão.
Agora vamos criar nossa aplicação.

Tags: , , , , ,

Página: 1 2 3 4 5

  1. 7 respostas para “Django com MySQL, JQuery, Ajax e JSON - Parte 1”

  2. Por Relsi em nov 11, 2008

    Muito legal o tuto, parabéns!!

    Hugs!!

  3. Por Abaster em nov 11, 2008

    Muito bom, dei só uma olhada mas com esse tipo de material o Django ira crescer cada vez mais.

  4. Por Rânielli The head em nov 11, 2008

    Fala rapaz parabens ai ficou muito bom ,,
    uma abraço

  5. Por Leandro em nov 13, 2008

    Gustavo,

    Meus sinceros parabéns pelo material, está excelente.

    Um desafio:
    - O que tu achas de fazer uma versão desse ajax com a biblioteca mootools ?

  6. Por Bernardo Marambaia em mar 15, 2009

    Parabéns Gustavo,

    Ouvi falar da eficiência do Django a poucos dias e procurei algo simples que pudesse me comprovar isso…
    Vc sintetizou nesse post tudo o que eu estava procurando! Agora é só me aprofundar no framework. Se existirem mais posts como esse por aí tenho certeza que a comunidade Python e Django vão crescer muito em quantidade e principalmente em qualidade! 100% produção…

  7. Por Bernardo Marambaia em mar 16, 2009

    Verifiquei que no arquivo forms.py ao usarmos o método mark_safe, devemos incluir a classe safestring do Django.
    Para resolver o problema devemos incluir a linha from django.utils.safestring import mark_safe no início do arquivo /cliente/forms.py para importar o método mark_safe.
    Abs…

  8. Por Maria em mai 5, 2009

    na linha
    $(”#”+objHtmlReturn).append(”+item.fields[fieldreturn]+”);

    qd escolho o bairro da um erro dizendo q a palavra ou o campo “fieldreturn” nao está definido por isso nao carrega as ruas no outro select

Envie seu comentário