Puisqu'il s'agit d'un mémorandum et de parents, il est écrit tout simplement. Je pense que les débutants devraient également se référer à d'autres articles.
J'ai principalement travaillé sur python 2.7.10 et Django 1.6. Veuillez noter les points suivants lorsque vous travaillez avec la série python 3, Django 1.9
Sélectionnez la version appropriée lorsque $ pyenv install
Sélectionnez la version appropriée lorsque $ pip install django
. (La dernière version 1.9 est incluse par défaut)
On a l'impression qu'une base de données est créée d'un seul coup après l'écriture d'un modèle avec Django 1.6 $ python manage.py syncdb
.
Après avoir écrit le modèle comme 1.9
Après avoir créé un fichier de migration avec $ python manage.py makemigrations app name
C'est comme créer une base de données à partir d'un fichier de migration avec $ python manage.py migrate
.
Voilà (probablement).
Installer depuis GitHub
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
(~ / .pyenv est le nom du répertoire local. Donnez-lui un nom approprié) Écrivez les paramètres pyenv dans zshenv, bash_profile, etc.
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
(Réécrivez $ HOME
à l'emplacement d'installation de pyenv selon le cas)
Redémarrez Shell pour que les paramètres prennent effet.
$ exec $SHELL
Installez python depuis pyenv.
$ pyenv install 2.7.10
Définissez la version installée.
$ pyenv global 2.7.10
$ pyenv rehash
Vérification
$ pyenv versions
* 2.7.10 (set by /hoge/.pyenv/version)
Installez Django 1.6 à partir de pip
$ pip install django==1.6
Créer un projet de test
$ django-admin.py startproject mysite
Démarrage du serveur
$ cd mysite
$ python manage.py runserver
Accédez à http: // localhost: 8000 et vérifiez si le serveur est en cours d'exécution.
Références principales Création de votre première application Django, partie 1 | Documentation Django 1.4
Modifiez les paramètres liés à DB. Par défaut, sqlite est utilisé, mais cette fois PostgreSQL est utilisé. Voir Notes sur l'activation de PostgreSQL avec Django | Qiita On suppose qu'un nouvel utilisateur et une nouvelle base de données sont créés en installant la bibliothèque postgresql, etc. en se référant au site ci-dessus.
setting.py
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mysite',
'USER': 'djangouser',
'PASSWORD': 'pass',
'HOST': '127.0.0.1',
'PORT': 5432,
}
}
Exécutez la commande suivante pour créer la table utilisée par l'application décrite dans INSTALLED_APPS dans setting.py.
$ python manage.py syncdb
(La commande syncdb recherche le paramètre INSTALLED_APPS et crée la table requise sur la base de données en fonction des paramètres de base de données dans settings.py.)
$ python manage.py startapp polls
(polls est le nom de l'application)
polls/models.py
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
Réécrivez les paramètres pour informer le projet de l'application de sondages.
Ajout de polls
dans ʻINSTALLED_APPS`.
setting.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'polls',
)
$ python manage.py sql polls
BEGIN;
CREATE TABLE "polls_poll" (
"id" serial NOT NULL PRIMARY KEY,
"question" varchar(200) NOT NULL,
"pub_date" timestamp with time zone NOT NULL
)
;
CREATE TABLE "polls_choice" (
"id" serial NOT NULL PRIMARY KEY,
"poll_id" integer NOT NULL REFERENCES "polls_poll" ("id") DEFERRABLE INITIALLY DEFERRED,
"choice" varchar(200) NOT NULL,
"votes" integer NOT NULL
);
COMMIT;
$ python manage.py syncdb
Voir Création de votre première application Django, partie 1 | Documentation Django 1.4 plutôt que de jouer avec l'API.
Lancez le shell interactif de python.
$ python manage.py shell
(Jouons différemment en référence au site ci-dessus)
En passant, en cours de lecture, polls / models.py a été réécrit comme suit.
polls/models.py
import datetime
from django.utils import timezone
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
def __unicode__(self):
return self.choice