Python

Django servidor local

Adiciona o IP da maquina local no settings
Exemplo
ALLOWED_HOSTS =  ['192.168.2.111', 'localhost', '127.0.0.1']
ALLOWED_HOSTS =  ['192.168.2.111']    ip do computador
execute o servidor com python manage.py runserver 0.0.0.0:8000
abra no outro pc com: 192.168.2.111:8000

django-heroku

fonte: https://github.com/Gpzim98/django-heroku#django-heroku
Configuração mínima para hospedar um projeto do Django no Heroku


Tutorial de Logon / Logout do Django (Parte 1)

Neste tutorial aprenderemos como configurar a funcionalidade de login / logout no Django 2.1 com o sistema de autenticação de usuários integrado Futuros tutoriais cobrem como implementar a inscrição , bem como uma sequência de redefinição de senha . Ao final desses tutoriais, você terá um fluxo de autenticação de usuário completo para seus futuros projetos Django.
Este tutorial pressupõe que você já esteja familiarizado com a configuração de um novo projeto do Django. Se você precisar de ajuda, por favor, consulte o Django for Beginners, que aborda o tópico com mais detalhes.
Note que, se você está procurando informações sobre o uso de um modelo de usuário personalizado do Django ou sobre a adição de uma autenticação social com o django-allauth , também tenho tutoriais separados sobre eles. E quando você estiver pronto para colocar tudo junto, confira meu Mega-tutorial de login do Django, que mostra como combinar um modelo de usuário personalizado com um login social com o Gmail.
O código fonte completo pode ser encontrado no Github .

Configuração

Comece criando um novo projeto Django. Este código pode viver em qualquer lugar no seu computador. Em um Mac, a área de trabalho é um local conveniente e é onde colocaremos esse código. Nós podemos fazer toda a configuração normal a partir da linha de comando:
  • criar um novo accountsdiretório para o nosso código na área de trabalho
  • instalar o Django com o Pipenv
  • iniciar o shell do ambiente virtual
  • crie um novo projeto Django chamado my_project
  • crie um novo banco de dados Sqlite com migrate
  • executar o servidor local
Aqui estão os comandos para executar:
$ cd ~/Desktop
$ mkdir accounts && cd accounts
$ pipenv install django==2.1
$ pipenv shell
(accounts) $ django-admin.py startproject my_project .
(accounts) $ python manage.py migrate
(accounts) $ python manage.py runserver
Se você navegar para http://127.0.0.1:8000, verá a tela de boas-vindas do Django.
Página de boas-vindas do Django

O aplicativo de autenticação do Django

O Django instala automaticamente o authaplicativo quando um novo projeto é criado. Olhe settings.pyabaixo INSTALLED_APPSe você pode ver authé um dos vários aplicativos integrados que o Django instalou para nós.
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth', # Yoohoo!!!!
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
Para usar o authaplicativo, precisamos adicioná-lo ao nosso urls.pyarquivo no nível do projeto Certifique-se de adicionar includena segunda linha. Eu escolhi incluir o authaplicativo, accounts/mas você pode usar qualquer padrão de URL desejado.
# my_project/urls.py
from django.contrib import admin
from django.urls import path, include # new

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')), # new
]
authaplicativo que agora incluímos nos fornece várias visualizações de autenticação e URLs para lidar com login, logout e gerenciamento de senhas.
Os URLs fornecidos por authsão:
accounts/login/ [name='login']
accounts/logout/ [name='logout']
accounts/password_change/ [name='password_change']
accounts/password_change/done/ [name='password_change_done']
accounts/password_reset/ [name='password_reset']
accounts/password_reset/done/ [name='password_reset_done']
accounts/reset/<uidb64>/<token>/ [name='password_reset_confirm']
accounts/reset/done/ [name='password_reset_complete']
Também há exibições de autoria associadas para cada padrão de URL. Isso significa que só precisamos criar um modelo para usar cada um!

Página de login

Vamos fazer nossa página de login! O Django, por padrão, irá procurar dentro de uma pasta de modelos chamada registrationpor templates de autenticação. O modelo de login é chamado login.html.
Crie um novo diretório chamado registratione o login.htmlarquivo de requisitos dentro dele. A partir do tipo de linha de comando, Control-cfeche nosso servidor local e insira os seguintes comandos:
(accounts) $ mkdir templates
(accounts) $ mkdir templates/registration
(accounts) $ touch templates/registration/login.html
Em seguida, inclua este código de modelo em nosso login.htmlarquivo:
<!-- templates/registration/login.html -->
<h2>Login</h2>
<form method="post">
  {% csrf_token %}
  {{ form.as_p }}
  <button type="submit">Login</button>
</form>
Este é um formulário padrão do Django usado POSTpara enviar dados e tags para questões de segurança, principalmente para evitar um ataque XSS. O conteúdo do formulário é gerado entre as tags de parágrafo, graças a e, em seguida, adicionamos um botão "enviar".{% csrf_token %}{{ form.as_p }}
Em seguida, atualize o settings.pyarquivo para dizer ao Django para procurar uma templatespasta no nível do projeto. Atualize a DIRSconfiguração da TEMPLATESseguinte maneira. Esta é uma mudança de uma linha.
# my_project/settings.py
TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        ...
    },
]
Nossa funcionalidade de login agora funciona, mas para torná-lo melhor, devemos especificar onde redirecionar o usuário em um login bem-sucedido. Em outras palavras, uma vez que um usuário tenha logado, onde ele deveria ser enviado no site? Usamos a LOGIN_REDIRECT_URLconfiguração para especificar essa rota. Na parte inferior do settings.pyarquivo, adicione o seguinte para redirecionar o usuário para a página inicial.
# my_project/settings.py
LOGIN_REDIRECT_URL = '/'
Na verdade, estamos prontos neste momento!
Se você iniciar o servidor do Django novamente python manage.py runservere navegar para a nossa página de login em http://127.0.0.1:8000/accounts/login/,você verá o seguinte.
Página de login

Crie usuários

Mas há uma peça que falta: ainda não criamos nenhum usuário . Vamos rapidamente fazer isso criando uma conta de superusuário na linha de comando. Saia do servidor com Control+ce execute o comando python manage.py createsuperuserResponda aos prompts e observe que sua senha não aparecerá na tela durante a digitação por motivos de segurança.
(accounts) $ python manage.py createsuperuser
Username (leave blank to use 'wsv'):
Email address: will@wsvincent.com
Password:
Password (again):
Superuser created successfully.
Agora, gire o servidor novamente python manage.py runservere atualize a página em http://127.0.0.1:8000/accounts/login/ . Digite as informações de login para o usuário recém-criado.
Erro na página inicial
Sabemos que nosso login funcionou porque fomos redirecionados para a página inicial, mas ainda não o criamos, por isso, vemos a página de erro não encontrada . Vamos consertar isso!

Crie uma homepage

Queremos uma página inicial simples que mostre uma mensagem para usuários desconectados e outra para usuários logados.
Primeiro sair do servidor local com Control-ce, em seguida, criar novos base.htmlhome.htmlarquivos. Note que estes estão localizados dentro da templatespasta, mas não dentro de templates/registration/onde a autenticação do Django parece por padrão para os modelos de autenticação do usuário.
(accounts) $ touch templates/base.html
(accounts) $ touch templates/home.html
Adicione o seguinte código para cada um:
<!-- templates/base.html -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>{% block title %}Django Auth Tutorial{% endblock %}</title>
</head>
<body>
  <main>
    {% block content %}
    {% endblock %}
  </main>
</body>
</html>
<!-- templates/home.html -->
{% extends 'base.html' %}

{% block title %}Home{% endblock %}

{% block content %}
{% if user.is_authenticated %}
  Hi {{ user.username }}!
{% else %}
  <p>You are not logged in</p>
  <a href="{% url 'login' %}">login</a>
{% endif %}
{% endblock %}
Enquanto estamos nisso, podemos atualizar login.htmltambém para estender nosso novo base.htmlarquivo:
<!-- templates/registration/login.html -->
{% extends 'base.html' %}

{% block title %}Login{% endblock %}

{% block content %}
<h2>Login</h2>
<form method="post">
  {% csrf_token %}
  {{ form.as_p }}
  <button type="submit">Login</button>
</form>
{% endblock %}
Agora atualize nosso urls.pyarquivo para exibirmos a página inicial. Na terceira linha, importe TemplateViewe adicione um urlpattern para ele.
# my_project/urls.py
from django.contrib import admin
from django.urls import path, include
from django.views.generic.base import TemplateView # new

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')),
    path('', TemplateView.as_view(template_name='home.html'), name='home'), # new
]
E terminamos Se você iniciar o servidor do Django novamente python manage.py runservere navegar até a página inicial em http://127.0.0.1:8000/, verá o seguinte:
Homepage logado
Funcionou! Mas como fazemos o logout? A única opção atualmente é entrar no painel de administração em http://127.0.0.1:8000/admin/ e clicar no link "Logout" no canto superior direito.
Link de logout da página de administrador
Isso nos desconectará conforme visto pela página de redirecionamento:
Página de administração desconectada
Se você acessar a página inicial novamente em http://127.0.0.1:8000/ e atualizar a página, poderemos ver que estamos desconectados.
Página inicial desconectada

Vamos adicionar um link de logout à nossa página para que os usuários possam alternar facilmente entre os dois estados. Felizmente, o authaplicativo Django já nos fornece um URL interno e visualiza isso. E se você pensar sobre isso, não será necessário exibir nada no logout, portanto, não há necessidade de um modelo. Tudo o que realmente fazemos depois de uma solicitação de “logout” bem-sucedida é redirecionar para outra página.
Então, primeiro vamos adicionar um link ao logouturl embutido em nosso base.htmlarquivo:
<!-- templates/home.html-->
{% extends 'base.html' %}

{% block title %}Home{% endblock %}

{% block content %}
{% if user.is_authenticated %}
  Hi {{ user.username }}!
  <p><a href="{% url 'logout' %}">logout</a></p>
{% else %}
  <p>You are not logged in</p>
  <a href="{% url 'login' %}">login</a>
{% endif %}
{% endblock %}
Em seguida, atualize settings.pycom o nosso link de redirecionamento que é chamado LOGOUT_REDIRECT_URLAdicione-o ao lado do nosso redirecionamento de login para que a parte inferior do settings.pyarquivo tenha a seguinte aparência:
# my_project/settings.py
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
Na verdade, agora que temos uma visão da página inicial, devemos usar isso em vez de nossa abordagem atual codificada. Qual é o nome do URL da nossa página inicial? É home, que nós nomeamos em nosso my_project/urls.pyarquivo:
# my_project/urls.py
    ...
    path('', TemplateView.as_view(template_name='home.html'), name='home'),
    ...
Assim, podemos substituir '/'com homea parte inferior do settings.pyarquivo:
# my_project/settings.py
LOGIN_REDIRECT_URL = 'home'
LOGOUT_REDIRECT_URL = 'home'
Agora, se você revisitar a página inicial e o login, você será redirecionado para a nova hompage que possui um link de "logout" para usuários logados.
Link de logout da página inicial
Clicando nele, você volta para a página inicial com um link de "login".
Link de login da página inicial

Conclusão

Com muito pouco código, temos um sistema robusto de login e autenticação de logout. Provavelmente parece um pouco mágica, já que o authaplicativo fez muito do trabalho pesado para nós. Uma das boas coisas do Django é que, embora ele forneça muitas funcionalidades prontas para uso, ele foi projetado para ser personalizável também.
Na próxima postagem, Tutorial de inscrição do Django , aprenderemos como adicionar uma página de inscrição para registrar novos usuários.
Alterar senha pelo shell

Crie o diretório do projeto

  • mkdir directory_name
  • cd directory_name

Crie e ative seu virtuanenv

  • virtualenv -p python3 .vEnv
  • .vEnv / bin / activate

Instalando o django

  • pip instalar django

Crie o projeto django

  • django-admin startproject myproject

Criando o repositório Git

  • git init
  • Crie um arquivo chamado .gitignorecom o seguinte conteúdo:
# See the name for you IDE
.idea
# If you are using sqlite3
*.sqlite3
# Name of your virtuan env
.vEnv
*pyc
  • git add.
  • git commit -m 'Primeiro commit'

Escondendo a configuração da instância

  • pip instalar python-desacoplar
  • crie um arquivo .env no caminho raiz e insira as seguintes variáveis
  • SECRET_KEY = Seu $ eCretKeyHere (Obter esta chave secreta do settings.py)
  • DEBUG = True

Settings.py

  • da configuração de importação do desacoplamento
  • SECRET_KEY = config ('SECRET_KEY')
  • DEBUG = config ('DEBUG', padrão = False, cast = bool)

Configurando a Base Daba

  • pip instalar dj-database-url

Settings.py

  • de dj_database_url import parse as dburl
default_dburl = 'sqlite: ///' + os.path.join (BASE_DIR, 'db.sqlite3')
BANCO DE DADOS = {'default': config ('DATABASE_URL', default = default_dburl, cast = dburl),}

Arquivos estáticos

pip instalar dj-static

wsgi

  • de dj_static import Cling
  • aplicativo = Cling (get_wsgi_application ())

Settings.py

  • STATIC_ROOT = os.path.join (BASE_DIR, 'staticfiles')

Crie um requerimento-dev.txt

congelamento pip> requirements-dev.txt

Crie um arquivo file requirements.txt e inclua uma referência ao arquivo previows e adicione mais dois requisitos

  • -r requisitos-dev.txt
  • gunicorn
  • psycopg2

Crie um arquivo Procfile e adicione o seguinte código

  • web: gunicorn website.wsgi --log-file -

Crie um arquivo runtime.txt e adicione o seguinte núcleo

  • python-3.6.0

Criando o aplicativo no Heroku

Você deve instalar ferramentas de CLI heroku em seu computador anteriormente (consulte http://bit.ly/2jCgJYW )
  • aplicativos heroku: criar nome do aplicativo Lembre-se de pegar o endereço do aplicativo neste ponto

Configurando os hosts permitidos

  • inclua seu endereço nas diretivas ALLOWED_HOSTS em settings.py - Apenas o domínio, certifique-se de pegar o protocolo e barras da string

Heroku instalar o plugin de configuração

  • plugins heroku: instale o heroku-config

Enviando configurações de .env para Heroku (Você tem que estar dentro do seguinte, onde os arquivos .env são)

  • plugins heroku: instale o heroku-config
  • configuração heroku: push -a

Para mostrar as configurações do heroku

  • configuração heroku

Publicando o aplicativo

  • git add.
  • git commit -m 'Configurando o aplicativo'
  • git push heroku mestre - força

Criando a base de dados

  • heroku executar python3 manage.py migrar

Criando o usuário admin do Django

  • heroku executar python3 manage.py createsuperuser

EXTRAS

Você pode precisar desativar o collectstatic

  • configuração heroku: defina DISABLE_COLLECTSTATIC = 1

Alterando uma configuração específica

  • configuração heroku: set DEBUG = True

Aplicativo feito em kivy python:

cor para o imc: Cornflower blue
Calcula o IMC
Link para doawload: aqui 

Criar exe python com cx_freeze:
https://regilanj.wordpress.com/2017/06/07/py-to-exe-in-python-3-6-1/?preview=true
App jogo de Matemática feito em kivy:
Vídeo:
https://www.youtube.com/watch?v=6Qfiv11pUAg
Download:
https://github.com/mancusoa74/jMath
Link:
https://drive.google.com/drive/folders/0B4a5Co0QLzxRNlA5aC1iOXdLc0k?usp=sharing

Instalação do python e kivy no Windows com Anaconda.

1º passo:
Baixe o Anaconda e instale normalmente.

2º passo:
Nesta aba selecione se deseja que seja permitido usar para todos os usuários ou somente você, no meu caso optei somente para mim. Primeira opção conforme imagem abaixo.


3º passo:
De um next por padrão ele instalara o anaconda no disco C, não recomendo alterar esta pasta.
4º passo:
Adicione o anaconda ao path do sistema:

Finalize toda a instalação.


4º passo:
Abra o prompt de comando do windows e veja se esta tudo certo, digite python -- version.


Devera aparecer a versão instalada conforme a imagem acima.
 5º passo:
Criação do ambiente virtual:
No terminal digite conda create --name k36 (este é o nome que criei para meu ambiente virtual) python=3.6(versão do python desejada.



Selecione a opção y (sim).



Para verificar os ambientes instalados digite conda env list:

Para ativar seu ambiente digite activate k36 e para desativar digite deactivate k36.
6º passo:
Agora basta instalar a biblioteca do kivy em nosso ambiente.
Ative o ambiente que deseja instalar o kivy, neste exemplo vou ativar o k36 (activate k36).
https://kivy.org/docs/installation/installation-windows.html
Atualize o pip e setup

pip install --upgrade pip wheel setuptools

Instale os 3 pacotes necessário:
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
Instale o próximo pacote de vídeo e áudio gstreamer:
pip install kivy.deps.gstreamer
Agora vamos instalar o kivy:
pip install kivy
Para testar a instalação basta digitar no prompt python e logo após import kivy.
Pronto, instalação finalizada.
Instalação do pyinstall

Att: Jorge Luiz Angioleti

Nenhum comentário:

Postar um comentário