Quick Start String Templates

Werbung
Quick Start
Python/Django
Siehe auch
http://www.python-kurs.eu/python3_kurs.php
https://docs.djangoproject.com/en/1.6/intro/tutorial
01/
Installation
https://www.python.org/downloads/
https://www.djangoproject.com/download/
Python Konsole
Beenden mit Ctrl-D oder Funktion quit()
Operatoren, fast wie in Java
Operator
Bezeichnung Beispiel
+, Addition, Subtraktion 10 -3
*, %
Multiplikation, Division, Rest
/
Division : >>> 10 / 3 =3.333333 ab Python 3
~x
Bitweises Not
**
Exponentiation
or, and, not Boolsche Operatoren
in
"Element von"
<, <=, >, >=, !=, ==
Die üblichen Vergleichsoperatoren
|, &, ^
Bitweises Oder, Bitweises Und, Bitweises XOR
<<, >>
Shiftoperatoren
Listen
Mengen und Dictionaries
Import aus Dateien und Moduln
http://www.python-kurs.eu/python3_kurs.php
Funktionen
Klassen und Objekte
>>>
>>> class Roboter:
...
pass
...
>>> type(Roboter)
<class 'type'>
>>> print(Roboter())
<__main__.Roboter object at
0x004AB650>
>>> r=Roboter()
>>> r.name="Marvin"
>>> r.name
'Marvin'
>>>
>>> class Roboter:
...
def __init__(self,name,baujahr):
...
self.name=name
...
self.baujahr=baujahr
...
def setName(self, name):
...
self.name=name
...
def setBaujahr(self,baujahr):
...
self.baujahr=baujahr
...
def getName(self):
...
return self.name
...
def getBaujahr(self):
...
return self.baujahr
Vererbung
>>> class Robby(Roboter):
...
pass
...
>>> m=Robby("marvin",1984)
>>> m.getName()
'marvin'
>>>
Django
• Erst Python installieren!
• Auf Versionsunterschiede achten (hier Django 1.6)
• Einrichten einer Website mittels Python-Scripts:
• Nachfolgendes Beispiel stamm von:
• https://docs.djangoproject.com/en/1.6/intro/tutorial01/
• Generierung einer Datenbank mittels O/R Mapping
• Django generiert SQL für Datenbankgenerierung
• Entwicklerdatenbank SQLite in Python ist dabei
Django Projekt anlegen
django-admin.py startproject mysite
manage.py runserver
manage.py startapp polls
Verzeichnisstruktur
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
Django O/R Mapping
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_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
mysite/setting.py ergänzen
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
)
manage.py sql polls
BEGIN;
CREATE TABLE "polls_poll" (
"id" integer NOT NULL PRIMARY KEY,
"question" varchar(200) NOT NULL,
"pub_date" datetime NOT NULL
);
CREATE TABLE "polls_choice" (
"id" integer NOT NULL PRIMARY KEY,
"poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"),
"choice_text" varchar(200) NOT NULL,
"votes" integer NOT NULL
);
COMMIT;
manage.py syncdb
manage.py shell
>>> from polls.models import Poll,
Datenbank leer
>>> Poll.objects.all()
[]
>>> p = Poll(question="What's new?", Neues Objekt per Konstruktor
pub_date=timezone.now())
>>> p.save()
>>> p.id
1
>>> p.question
"What's new?"
Speichern
Daten ändern
>>> p.question
"What's new?"
>>> p.pub_date
datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)
>>> p.question = "What's up?"
>>> p.save()
# objects.all() displays all the polls in the database.
>>> Poll.objects.all()
Ein schöneres „toString“ wäre
[<Poll: Poll object>]
gut
Herunterladen