SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Gerenciador de conteъdo (Django)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031971
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Gerenciador de conteъdo (Django) Empty [Tutorial] Gerenciador de conteъdo (Django)

    Mensagem por Weslley_Script Qui 13 Abr 2023 - 18:27

    E ai galera, alguns dias atrбs eu havia publicado um tutorial rбpido, que abordava o conteъdo de agendamento de tarefas no Linux, para vocк poder automatizar suas atividades.

    Link: Agendamentos Cron


    Esse vai ser mais um tutorial leve, mostrando algumas aplicaзхes dessa framework na rotina diбria de alguйm que mexe com servidores SA-MP, e etc...

    Pra quem ainda nгo conhece Python, recomendo dar uns 50 centavos de olhada no site deles: Welcome to Python.org

    Sobre o django framework, existe um link para download e que contйm uma documentaзгo salvadora de vidas. O django contribui muito com o processo de desenvolvimento de uma aplicaзгo, seja ela qual for, tambйm recomendo mais uns 50 centavos de olhada no site deles: The web framework for perfectionists with deadlines | Django.





    Entгo, vamos comeзar listando algumas aplicaзхes para o Django no meu servidor de SA-MP.
    • Criar um site para meu servidor

    • Criar um fуrum para meu servidor

    • Criar um UCP para meu servidor

    • Criar um painel de administraзгo para o meu servidor (site)

    • Interface de comuniзгo entre site/servidor com banco de dados



    - Criar um site para meu servidor / Criar um fуrum para meu servidor
    O Django framework pode ser utilizado para criaзгo de pбginas web, aonde vocк irб utilizar HTML, python, e outros meios para desenvolvimento web. Utilizando o Django framework, vocк terб possibilidade de manter seu site sincronizado com os dados do seu servidor, pelo banco de dados.
    - Criar um UCP para meu servidor / Criar um painel de administraзгo para o meu servidor
    Visto que vocк pode utilizar o mesmo banco do servidor no Django, vocк terб a possibilidade de criar pбginas de forma fбcil e rбpida para retornar dados de usuбrios, ou administradores, ou estatнsticas do servidor.
    Exemplo de HTML para seleзгo de dados:
    Code:

    Código:
    <h1>Usuбrios</h1>
    <ul>
    {% for jogador in jogadores.all %}
     <li>{{ jogador.name }}</li>
    {% endfor %}
    </ul>


    Com este simples HTML, vocк estarб executando um loop em todos os jogadores da tabela 'jogadores', e o servidor irб renderizar uma pбgina com uma lista contendo todos os nomes de jogadores registrados no seu banco.


    - Interface de comuniзгo entre site/servidor com banco de dados
    Com o Django framework, vocк poderб tambйm criar/modelar seu banco de dados atravйs de codificaзгo em python, de forma fбcil e intuitiva. E esse mesmo banco poderб ser utilizado para que vocк rode no seu servidor de SA-MP, de modo que uma vez que vocк insira um dado atravйs do servidor, o Django terб acesso ao mesmo dado, assim formando uma interface de comunicaзгo, que poderб ser utilizado para as aplicaзхes exemplificadas acima.


    Nesse tutorial, estaremos criando um aplicativo administrativo, que servirб como gerenciador de conteъdo do seu sistema/banco de dados.

    1. Instalaзгo
    Code:

    Código:
    ##### para iniciar a instalaзгo do Django, tendo como ponto de partida um Ubuntu 14.04 Trusty recentemente criado.
    ##### й necessбrio procurar por updates, para efetivar/concretizar novas atualizaзхes do sistema

    sudo apt-get update

    #### Apуs efetivas as atualizaзхes disponнveis, instalamos o gerenciador de pacotes do Python, para instalar as futuras dependкncias

    sudo apt-get install python-pip

    #### Utilizamos o gerenciador de pacotes do python 'pip' para instalar o resto do djando e suas dependкncias

    sudo pip install django




    2. Configuraзгo
    Code:

    Código:
    # Iniciar um novo projeto
    # django-admin startproject NOME_DO_PROJETO
    django-admin startproject meu_gerenciador

    # Inicializar o banco padrгo de testes do Django (sqlite3)
    python manage.py migrate

    # Criar um novo app, para o seu sistema
    # python manage.py startapp NOME_DO_APLICATIVO
    python manage.py startapp meu_app


    (OBS: Essa configuraзгo do django й bбsica e pode ser encontrada em mais detalhes no site do mesmo, na aba da documentaзгo.)

    Para terminar essa parte de configuraзгo, toda vez que vocк criar um aplicativo utilizando 'manage.py startapp', й necessбrio adicionar esse app criado em /meu_gerenciador/meu_gerenciador/settings.py.

    meu_gerenciador/meu_gerenciador/settings.py:
    Code:

    Código:
    INSTALLED_APPS = (
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     ...
     ...
     ...
     'meu_app', #Aqui vocк inseri seu app
    )




    3. Models / Tabelas

    Uma vez que instalamos e configuramos o projeto e o aplicativo que irб executar no nosso servidor, poderemos comeзar criando uma tabela para os jogadores.

    Toda vez que vocк utiliza o comando de criar um aplicativo novo (startapp), serб empregado um arquivo nomeado models.py, que representa as tabelas do banco, lб vocк irб codificar todas as tabelas do seu banco.

    meu_gerenciador/meu_app/models.py:
    Code:

    Código:
    #importando os modelos padrхes de dados do Django (inteiro, string, float, etc...)
    from django.db import models

    #classe que representa a tabela Jogador
    class Jogador(models.Model):
       name = models.CharField(max_length=24)
       level = models.IntegerField()


    #Essa classe acima representa o seguinte script em MySQL:
    #   
    #   CREATE TABLE Jogador (
    #      id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    #      name varchar(24) NOT NULL,
    #      level INT
    #   )
    #


    OBS2: Ao executar as modificaзхes do seu arquivo models.py, salvar e fechar o mesmo, й necessбrio que vocк execute um 'makemigrations', que й aonde o Django irб transformar todo o seu cуdigo python da tabela em um arquivo compilado, e entгo ele irб transformar o mesmo em scripts e executar a aзгo no banco associado ao seu sistema.
    Code:

    Código:
    python manage.py makemigrations
    python manage.py migrate


    Apуs atualizar seu banco, com a nova estrutura proposta no arquivo de models.py, seu servidor estб pronto para acessar os dados que forem inseridos no app.


    OFF-TOPIC: Existe uma maneira simples de acessar seu banco atravйs de um shell (bash) do python, aonde vocк poderб inserir dados, selecionar dados, e etc... Exemplo:
    Code:

    Código:
    python manage.py shell


    Assim vocк terб acesso a um shell, aonde poderб acessar o banco, eu nunca precisei utilizar esse nнvel de abstraзгo, mas eu achei que seria bacana citar. Para mais exemplos, e aplicaзхes do conteъdo, acessem o link do Django framework.


    OFF-TOPIC: Para iniciar o processo de integraзгo do projeto SA-MP com o Django, primeiro vocк precisa entender do banco que irб utilizar, como eu iniciei o tutorial em cima do DB padrгo de testes (sqlite), aqui tem um link sobre o conteъdo: How to: SQLITE

    O Django permite tambйm que vocк utilize: MySQL, PostgreSQL, entre outros...

    No link do Django framework, na aba de documentaзгo eles tem conteъdo explicativo sobre migraзгo de banco, para MySQL ou PostgreSQL.

    Em teoria nгo й nenhum bixo de 7 cabeзas, basta vocк alterar a linha que indica o banco que vocк usa, no settings.py, e entгo, baixar as dependкncias do banco, por exemplo, se vocк for utilizar postgresql.

    Altera o settings.py:
    Code:

    Código:
    DATABASES = {
     'default': {
     'ENGINE': 'django.db.backends.postgresql_psycopg2',
     'NAME': 'NOME DO BANCO',
     'USER': 'NOME DO USUARIO',
     'PASSWORD': 'SENHA DO USUARIO',
     'HOST': 'IP DO SERVIDOR DO BANCO',
     'PORT': 'PORTA DE ACESSO DO BANCO, SE FOR A PADRAO REMOVA ESSA LINHA'
     }
    }


    E entгo, instalar o postgresql no seu servidor:
    Code:

    Código:
    sudo apt-get install postgresql postgresql-contrib


    Tendo isso, vocк efetua um makemigrations novamente, e shazam ! Vocк migrou seu banco de sqlite para postgresql.



    4. Gerenciador de conteъdo

    Apуs instalar, configurar, criar seu banco e integrar seu servidor sa-mp com seu aplicativo django, vocк ainda pode criar um sistema de gerenciamento de conteъdo, que й padrгo tambйm do Django framework. Este sistema de gerenciamento de conteъdo te permite visualizar os dados, alterar os dados e inserir novos dados de forma intuitiva atravйs de um aplicativo visual (website), que o prуprio django cria.

    Para criar o seu gerenciador de conteъdo, basta definir um superuser para o seu Django Project:
    Code:

    Código:
    python manage.py createsuperuser


    Com essa linha, vocк criou um usuбrio administrativo, e habilitou todo o seu sistema de gerenciamento de conteъdo.


    Uma vez que vocк habilitou o seu sistema de gerenciamento de conteъdo, acesse o mesmo atravйs do seguinte caminho: ip_do_host:8000/admin

    Caso vocк esteja executando este tutorial na sua mбquina local, utilize localhost:8000/admin, vocк serб redirecionado para uma pбgina que irб exigir uma senha de administrador, que foi o cadastro que vocк efetuou anteriormente no 'createsuperuser'

    Pбgina:


    Apуs efetuar login nessa pбgina, vocк serб novamente redirecionado para uma pбgina aonde irб ser listado o nome de todas as tabelas que vocк tem registrados no seu banco, ao selecionar qualquer uma delas, vocк verб todos os registros da tabela selecionada, e ao selecionar um registro, vocк irб para uma pбgina de ediзгo, aonde vocк poderб alterar o registro e salvar.

    Conclusгo

    Como dб pra ver, nada й difнcil de se fazer utilizando o django, nгo й atoa que ele й uma framework que visa agilidade no processo de desenvolvimento dessa parte back-end, gerenciamento de conteъdo, pбginas dinвmicas consumistas de dados e etc...

    O Django tem diversas aplicaзхes no mercado de trabalho, atualmente faz 1 ano e meio que tenho experiкncia com o mesmo, e sempre me foi um quebra galho.


    OFF-TOPIC: O Django й open-source, logo, todo o design e estruturaзгo de cуdigo pode ser personalizado por vocк. Existem sites que tem diversas extensхes de design pro django admin (aquela pбgina de gerenciamento de conteъdo), isso pode complementar sua aplicaзгo, permitir a utilizaзгo de filtros na pesquisa de dados, aumentar a usabilidade do painel, deixando o mesmo mais intuitivo pro administrador, e estilizar sua aplicaзгo, deixando a mesma mais bonita.

    Eu por exemplo utilizava um tema pro meu painel administrativo do Django, que complementava mais algumas coisas, link: Django Suit theme



    Com o bбsico citado neste tуpico, vocкs poderгo criar aplicativos em Django e utiliza-los dentro dos seus servidores, e toda e qualquer complementaзгo necessбria a respeito do conteъdo de estudo, pode ser trabalhado ainda aqui no fуrum, caso vocкs decidam discutir sobre o assunto... Ou entгo podem visitar o link do django e conhecer mais sobre a documentaзгo do mesmo, й uma documentaзгo bem completa, recomendo a visita.



    Questхes tйcnicas:

    O servidor que eu utilizei pra montar o aplicativo deste tutorial foi uma mбquina m1.small, alocada pelo BlueMix da IBM, 2GB de RAM, 10GB de disco, 1 CPU. SO Ubuntu 14.04.

    O banco utilizado foi o padrгo de testes que o django implementa, sqlite.





    OBS: Quem tiver algum problema relacionado ao conteъdo do tуpico, ou quiser discutir mais, comente a respeito...


    Creditos: WLSF



    [Tutorial] Gerenciador de conteъdo (Django) D07Xwqb
    [Tutorial] Gerenciador de conteъdo (Django) Yjab9HN

      Data/hora atual: Qua 1 maio 2024 - 22:59