Quick Start Python/Django - Uni Koblenz- Start Python/Django ... • Django generiert SQL fr Datenbankgenerierung ... ' ', 'polls', )

  • View
    217

  • Download
    4

Embed Size (px)

Text of Quick Start Python/Django - Uni Koblenz- Start Python/Django ... • Django generiert SQL fr...

  • Quick Start Python/Django

    Siehe auch http://www.python-kurs.eu/python3_kurs.php

    https://docs.djangoproject.com/en/1.6/intro/tutorial01/

    http://www.python-kurs.eu/python3_kurs.phphttps://docs.djangoproject.com/en/1.6/intro/tutorial01/https://docs.djangoproject.com/en/1.6/intro/tutorial01/

  • Installation

    https://www.python.org/downloads/

    https://www.djangoproject.com/download/

    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

    http://www.python-kurs.eu/python3_kurs.php

  • Funktionen

  • Klassen und Objekte >>>

    >>> class Roboter: ... pass ... >>> type(Roboter) >>> print(Roboter()) >>> 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 fr Datenbankgenerierung Entwicklerdatenbank SQLite in Python ist dabei

    https://docs.djangoproject.com/en/1.6/intro/tutorial01/https://docs.djangoproject.com/en/1.6/intro/tutorial01/

  • 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

  • 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 ergnzen

    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, >>> 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

  • Daten ndern

    >>> p.question "What's new?" >>> p.pub_date datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=) >>> p.question = "What's up?" >>> p.save() # objects.all() displays all the polls in the database. >>> Poll.objects.all() [] Ein schneres toString wre

    gut

    Quick Start Python/DjangoInstallationPython KonsoleOperatoren, fast wie in JavaListenMengen und DictionariesImport aus Dateien und ModulnFunktionenKlassen und ObjekteVererbungDjangoDjango Projekt anlegenDjango O/R Mappingmysite/setting.py ergnzenmanage.py sql pollsmanage.py syncdbmanage.py shellDaten ndern