quick start python/django - uni koblenz-landauiis.uni-koblenz.de/ss2014/ptt2014/quickpython.pdfquick...

17
Quick Start Python/Django Siehe auch http://www.python-kurs.eu/python3_kurs.php https://docs.djangoproject.com/en/1.6/intro/tutorial 01/

Upload: dinhque

Post on 26-Mar-2018

328 views

Category:

Documents


5 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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