Da es für Memorandum & Verwandte ist, ist es ganz einfach geschrieben. Ich denke, Anfänger sollten sich auch auf andere Artikel beziehen.
Ich habe hauptsächlich an Python 2.7.10 und Django 1.6 gearbeitet. Bitte beachten Sie die folgenden Punkte, wenn Sie mit Python 3 Series, Django 1.9, arbeiten
Wählen Sie bei der Installation von $ pyenv die entsprechende Version aus Wählen Sie die entsprechende Version aus, wenn $ pip django installiert. (Die neueste Version 1.9 ist standardmäßig enthalten.)
Es fühlt sich an, als würde eine Datenbank auf einmal erstellt, nachdem ein Modell mit Django 1.6 $ python manage.py syncdb
geschrieben wurde.
Nach dem Schreiben des Modells als 1.9
Nach dem Erstellen einer Migrationsdatei mit dem Namen "$ python manage.py makemigrations app"
Es fühlt sich an, als würde man eine Datenbank aus einer Migrationsdatei mit "$ python manage.py migrate" erstellen.
Das war's (wahrscheinlich).
Von GitHub installieren
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
(~ / .pyenv ist der lokale Verzeichnisname. Machen Sie einen geeigneten Namen) Schreiben Sie die pyenv-Einstellungen in zshenv, bash_profile usw.
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
(Schreiben Sie "$ HOME" gegebenenfalls an den Installationsort von pyenv) Starten Sie Shell neu, damit die Einstellungen wirksam werden.
$ exec $SHELL
Installieren Sie Python von Pyenv.
$ pyenv install 2.7.10
Stellen Sie die installierte Version ein.
$ pyenv global 2.7.10
$ pyenv rehash
Bestätigung
$ pyenv versions
* 2.7.10 (set by /hoge/.pyenv/version)
Installieren Sie Django 1.6 von Pip
$ pip install django==1.6
Testprojekt erstellen
$ django-admin.py startproject mysite
Serverstart
$ cd mysite
$ python manage.py runserver
Gehen Sie zu http: // localhost: 8000 und überprüfen Sie, ob der Server ausgeführt wird.
Hauptreferenzen Erstellen Ihrer ersten Django-App, Teil 1 | Django 1.4-Dokumentation
Ändern Sie die Einstellungen für DB. Standardmäßig wird SQLite verwendet, diesmal wird jedoch PostgreSQL verwendet. Siehe Hinweise zum Aktivieren von PostgreSQL mit Django | Qiita Es wird davon ausgegangen, dass ein neuer Benutzer und eine neue Datenbank erstellt werden, indem die postgresql-Bibliothek usw. unter Bezugnahme auf die oben genannte Site installiert wird.
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,
}
}
Führen Sie den folgenden Befehl aus, um die Tabelle zu erstellen, die von der in INSTALLED_APPS in settings.py beschriebenen Anwendung verwendet wird.
$ python manage.py syncdb
(Der Befehl syncdb sucht nach der Einstellung INSTALLED_APPS und erstellt die erforderliche Tabelle in der Datenbank gemäß den Datenbankeinstellungen in settings.py.)
$ python manage.py startapp polls
(Umfragen ist der Anwendungsname)
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()
Schreiben Sie die Einstellungen neu, um das Projekt auf die Umfrage-App aufmerksam zu machen. Fügen Sie "Umfragen" in "INSTALLED_APPS" hinzu.
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
Siehe Erstellen Ihrer ersten Django-App, Teil 1 | Django 1.4-Dokumentation, anstatt mit der API zu spielen.
Starten Sie die interaktive Shell von Python.
$ python manage.py shell
(Lassen Sie uns mit Bezug auf die obige Seite unterschiedlich spielen)
Während des Spielens wurde polls / models.py übrigens wie folgt umgeschrieben.
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
Recommended Posts