Eu quero me afastar um pouco do PHP e aprender Python. Para fazer o desenvolvimento web com o Python, precisarei de uma estrutura para ajudar na modelagem e outras coisas.
Eu tenho um servidor de não produção que eu uso para testar todo o material de desenvolvimento da web. É uma pilha Debian 7.1 LAMP que executa o MariaDB em vez do pacote comum do servidor MySQL.
Ontem instalei o Django e criei meu primeiro projeto chamado firstweb . Ainda não alterei nenhuma configuração.
Aqui está o meu primeiro grande pedaço de confusão. No tutorial, segui o cara que instalou o Django, iniciou seu primeiro projeto, reiniciou o Apache e o Django apenas trabalhou a partir de então. Ele foi ao seu navegador e foi para a página padrão do Django sem problemas.
No entanto, eu tenho que entrar na minha primeira pasta da web e executar
python manage.py runserver myip:port
E isso funciona. Sem problemas. Mas estou me perguntando se deveria funcionar assim, e se isso causará problemas na linha?
Minha segunda pergunta é que eu quero configurá-lo para que ele use meu banco de dados MySQL. Entro em meu settings.py em / firstweb / firstweb e vejo ENGINE e NAME, mas não sei ao certo o que colocar aqui.
E então, nas áreas USER, PASSWORD e HOST, esse é meu banco de dados e suas credenciais? Se eu estiver usando o host local , basta colocar o host local na área HOST?
Respostas:
O suporte ao MySQL é simples de adicionar. No seu
DATABASES
dicionário, você terá uma entrada como esta:Você também tem a opção de utilizar arquivos de opções do MySQL , a partir do Django 1.7. Você pode fazer isso configurando sua
DATABASES
matriz da seguinte maneira:Você também precisa criar o
/path/to/my.cnf
arquivo com configurações semelhantes acimaCom este novo método de conexão no Django 1.7, é importante saber que as conexões de ordem são estabelecidas:
Se você está apenas testando seu aplicativo em sua máquina local, pode usar
A adição do
ip:port
argumento permite que máquinas diferentes da sua tenham acesso ao seu aplicativo de desenvolvimento. Quando estiver pronto para implantar seu aplicativo, recomendo dar uma olhada no capítulo Sobre a implantação do Django no djangobookO conjunto de caracteres padrão do Mysql geralmente não é utf-8, portanto, certifique-se de criar seu banco de dados usando este sql:
Se você estiver usando o conector MySQL da Oracle, sua
ENGINE
linha deve ficar assim:Observe que você primeiro precisará instalar o mysql no seu sistema operacional.
Além disso, o pacote do cliente mysql mudou para python 3 (
MySQL-Client
funciona apenas para python 2)fonte
Para o primeiro, execute os comandos abaixo para instalar dependências python, caso contrário, o comando python runserver lançará um erro.
Em seguida, configure o arquivo settings.py conforme definido por #Andy e, finalmente, execute:
Diverta-se..!!
fonte
Se você estiver usando python3.x, execute o comando abaixo
Então mude setting.py como
fonte
Como dito acima, você pode instalar o xampp facilmente primeiro em https://www.apachefriends.org/download.html Em seguida, siga as instruções como:
http://localhost:80
e banco de dados emport 3306
, e PhpMyadmin emhttp://localhost/phpmyadmin/
Edite seu
settings.py
arquivo como:Instale os seguintes pacotes no virtualenv (se você estiver usando o django no virtualenv, o que é mais preferido):
sudo apt-get install libmysqlclient-dev
pip instala o MySQL-python
É isso aí!! você configurou o Django com MySQL de uma maneira muito fácil.
Agora execute o seu projeto Django:
python manage.py migrate
python manage.py runserver
fonte
Na verdade, existem muitos problemas com diferentes ambientes, versões em python, etc. Você também pode precisar instalar arquivos dev python, para 'força bruta' a instalação, eu executaria tudo isso:
Você deve concordar com a resposta aceita. E pode remover os pacotes desnecessários, se isso for importante para você.
fonte
Execute estes comandos
Em seguida, configure settings.py como
Aproveite a conexão mysql
fonte
A resposta de Andy ajuda, mas se você tiver alguma dúvida em expor sua senha do banco de dados em sua configuração de django, sugiro seguir a configuração oficial do django na conexão mysql: https://docs.djangoproject.com/en/1.7/ref/databases/
Citado aqui como:
Para substituir 'HOST': '127.0.0.1' na configuração, basta adicioná-lo em my.cnf:
Outra OPÇÃO que é útil é definir seu mecanismo de armazenamento para o django, você pode querer em seu setting.py:
fonte
settings.py
}
então:
se o sucesso gerar essas tabelas:
e você pode usar o mysql.
este é um exemplo de demonstração, teste no Django versão 1.11.5: Django-pool-showcase
fonte
mysqlclient
sudo pip3 install mysqlclient
se você receber um erro:
então:
Modifique settings.py
fonte
Siga as etapas fornecidas para configurá-lo para usar o banco de dados MySQL:
fonte
Você deve criar um banco de dados MySQL primeiro. Em seguida, vá ao
settings.py
arquivo e edite o'DATABASES'
dicionário com suas credenciais do MySQL:Aqui está um guia de instalação completo para configurar o Django para usar o MySQL em um virtualenv:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
fonte