quick start python/django - uni koblenz-landauiis.uni-koblenz.de/ss2014/ptt2014/quickpython.pdfquick...
TRANSCRIPT
![Page 1: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/1.jpg)
Quick Start Python/Django
Siehe auch http://www.python-kurs.eu/python3_kurs.php
https://docs.djangoproject.com/en/1.6/intro/tutorial01/
![Page 2: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/2.jpg)
Installation
https://www.python.org/downloads/
https://www.djangoproject.com/download/
![Page 3: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/3.jpg)
Python Konsole
Beenden mit Ctrl-D oder Funktion quit()
![Page 4: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/4.jpg)
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
![Page 5: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/5.jpg)
Listen
![Page 6: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/6.jpg)
Mengen und Dictionaries
![Page 7: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/7.jpg)
Import aus Dateien und Moduln
http://www.python-kurs.eu/python3_kurs.php
![Page 8: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/8.jpg)
Funktionen
![Page 9: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/9.jpg)
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
![Page 10: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/10.jpg)
Vererbung
>>> class Robby(Roboter):
... pass
...
>>> m=Robby("marvin",1984)
>>> m.getName()
'marvin'
>>>
![Page 11: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/11.jpg)
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
![Page 12: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/12.jpg)
Django Projekt anlegen
django-admin.py startproject mysite manage.py runserver manage.py startapp polls
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
Verzeichnisstruktur
![Page 13: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/13.jpg)
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)
![Page 14: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/14.jpg)
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', )
![Page 15: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/15.jpg)
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;
![Page 16: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/16.jpg)
manage.py syncdb manage.py shell >>> from polls.models import Poll, >>> Poll.objects.all() [] >>> p = Poll(question="What's new?", pub_date=timezone.now()) >>> p.save() >>> p.id 1 >>> p.question "What's new?"
Datenbank leer
Neues Objekt per Konstruktor
Speichern
![Page 17: Quick Start Python/Django - Uni Koblenz-Landauiis.uni-koblenz.de/SS2014/PTT2014/QuickPython.pdfQuick Start Python/Django ... • Django generiert SQL für Datenbankgenerierung](https://reader031.vdocuments.mx/reader031/viewer/2022020922/5ab8359d7f8b9ad5338c92c4/html5/thumbnails/17.jpg)
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() [<Poll: Poll object>] Ein schöneres „toString“ wäre
gut