Table of Contents
Django keretrendszer telepítés
Telepítés windows
Letöltés (windows): https://www.python.org/downloads/windows/
Telepítés Linux
A gépteremben az Ubuntu-val kell boot-olni. Majd egy shellben le kell futtatni a köv parancsot, ami a 'pip' alkalmazást telepíti:
https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --user
A pip a /ahome/diak/.local/bin/pip könyvtárban lesz elérhető.
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 ../../
Linux alatt az activate parancs másképpen működik:
cd django_rest\ source bin/activate
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 todolist_server/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 todolist_server/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 todolist_server/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)), ]
Írjuk át a mainsite/urls.py a következőképpen:
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'', include('todolist_server.urls')), url(r'^admin/', admin.site.urls), ]
A todolist_server/views.py -ba írjuk a következőket:
from todolist_server.models import TodoItem from todolist_server.serializers import TodoItemSerializer, StateSerializer class TodoViewSet(viewsets.ModelViewSet): queryset = TodoItem.objects.all() serializer_class = TodoItemSerializer
Ezek után indítsuk el a development servert:
manage.py runserver
Majd a http://localhost:8000/api/ ra látogassunk el
Kiegészítés
Az adatok kiírhatóak egy állományba:
manage.py dumpdata --format=yaml todolist_server -o dump.yaml
A telepített csomagok kezelése
pip freeze > requirements.txt
Létrejön a rquirements.txt a telepített csomagokkal. Lehet commit-olni a repositoryba.
A telepítése a cél számítógépen:
pip install -r requirements.txt