Table of Contents

Django keretrendszer telepítés

Telepítés

Letöltés (windows): https://www.python.org/downloads/windows/

Telepítés után:

 pip install virtualenv

Majd válasszunk egy projekt könyvtárat és készítsük el a virtuális környezetet: (windows)

 virtualenv django_rest\venv             --> a python virtuális környezet azért fontos, mert a telepített komponensek ide kerülnek 
 cd django_rest\venv\Scripts
 activate
 pip install django==1.9
 pip install djangorestframework==3.3.2
 cd ../../

Visszakerülve a kiinduló könyvtárba, hozzuk létre a django projektet: (a végén a pont fontos!)

 django-admin startproject mainsite .       
 manage.py migrate                          ---> létrehozza az alap adatbázistáblákat, amely minden django projekthez szükséges
 manage.py runserver                        ---> http://localhost:8000/ címen elérhető az alap django projektünk

ToDo list alkalmazás készítése

 django-admin startapp todolist_server
 cd todolist_server

Hozzuk létre a modellt, módosítsuk a models.py -t:

from django.db import models
 
class TodoItem(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
    is_finished = models.BooleanField(default=False)

    def __str__(self):
        return self.title

Majd a settings.py-ban illesszük be az INSTALLED_APPS végére az új alkalmazásokat:

 INSTALLED_APPS = [
   .... 
   'todolist_server',
   'rest_framework',
 ] 

Futtassuk a migrációt:

 manage.py makemigrations
 manage.py migrate

Hozzuk létre a serializers.py-t:

from rest_framework import serializers
from todolist_server.models import TodoItem

class TodoItemSerializer(serializers.ModelSerializer):
    class Meta:
        model = TodoItem

Hozzuk létre az urls.py-t:

from django.conf.urls import patterns, include, url
from rest_framework import routers
from . import views

todo_router = routers.DefaultRouter()
todo_router.register(r'todos', views.TodoViewSet, base_name='todos')

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url('^api/', include(todo_router.urls)),
]

Adatok dumpja

Az adatok kiírhatóak egy állományba:

manage.py dumpdata --format=yaml todolist_server -o dump.yaml