Diferència entre revisions de la pàgina «Django»
Salta a la navegació
Salta a la cerca
(→Django) |
|||
Línia 41: | Línia 41: | ||
* Django i GAE: https://developers.google.com/appengine/articles/django-nonrel | * Django i GAE: https://developers.google.com/appengine/articles/django-nonrel | ||
* http://www.allbuttonspressed.com/projects/djangoappengine | * http://www.allbuttonspressed.com/projects/djangoappengine | ||
+ | * Per [https://django-nonrel.readthedocs.org/en/latest/content/All%20Buttons%20Pressed%20-%20CMS%20&%20blog%20for%20Django-nonrel.html provar un CMS fet amb Django-nonrel] i per GAE. | ||
* ... | * ... | ||
+ | |||
+ | === Tutorial === | ||
+ | Realitzat amb Django 1.5.5 i GAE 1.8.7 | ||
+ | |||
+ | # Descarregar els paquets de Django-nonrel aqui (inclòs el projecte de test): <pre>http://www.allbuttonspressed.com/projects/djangoappengine</pre> | ||
+ | #:Us caldrà el GIT per clonar (git clone ...) i el Mercurial (hg clone ...) per un dels repos. | ||
+ | # Crear ''symlinks'' a l'arrel del directori del projecte de test fins als paquets descarregats. | ||
+ | # Crear una app amb <pre>$ python manage.py startapp app1</pre> | ||
+ | # Afegir la nova app al projecte. Modificar '''settings.py''': <pre>INSTALLED_APPS = ( ... ,'app1', ...)</pre> | ||
+ | # Afegir el mòdul messages (no ve per defecte) a '''settings.py''': | ||
+ | #: <pre>INSTALLED_APPS = ( ... , 'django.contrib.messages', ...)</pre> | ||
+ | #: <pre>MIDDLEWARE_CLASSES = ( ... , 'django.contrib.messages.middleware.MessageMiddleware' , ... )</pre> | ||
+ | # Crear usuari admin amb <pre>$ python manage.py createsuperuser</pre> | ||
+ | # Posar el server en marxa amb:<pre>$ python manage.py runserver</pre> | ||
+ | # Editar model de dades; | ||
+ | #* app1/models.py <pre>class ElmeuModel1(models.Model): ...</pre> | ||
+ | #* app1/admin.py <pre>admin.site.register(ElMeuModel1)</pre> |
Revisió del 11:44, 18 nov 2013
Django és un framework per sites web basat en Python.
OJU amb les versions. Per GAE 1.8.7 cal Django <= 1.5 , és a dir no Django 1.6 (Nov 2013).
Django
Algunes referències:
- http://www.djangoproject.com
- Tutorial estupendu: https://docs.djangoproject.com/en/1.6/intro/tutorial01/
- Extendre els camps del User: http://stackoverflow.com/questions/44109/extending-the-user-model-with-custom-fields-in-django
- Model camps (fields) en Django:
- ...
Setup:
- Virtualenv
- Iniciar projecte
$ django-admin.py startproject myproj
- Iniciar app:
$ python manage.py startproject myproj
- settings.py:
- Ajustar DB
- Afegir app
- Activar admin
- myapp/admin.py
- registrar models a administrar (admin forms)
admin.site.register( Soci )
- registrar models a administrar (admin forms)
- Crear myapp/models.py
- Crear taules:
$ python manage.py syncdb
- Engegar site:
$ python manage.py runserver
Google App Engine
GAE:
- Tutorial Python: https://developers.google.com/appengine/docs/python/gettingstartedpython27/introduction
- Darreres versions: https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python
- ...
Django i GAE
Unint Django i GAE:
- Django i GAE: https://developers.google.com/appengine/articles/django-nonrel
- http://www.allbuttonspressed.com/projects/djangoappengine
- Per provar un CMS fet amb Django-nonrel i per GAE.
- ...
Tutorial
Realitzat amb Django 1.5.5 i GAE 1.8.7
- Descarregar els paquets de Django-nonrel aqui (inclòs el projecte de test):
http://www.allbuttonspressed.com/projects/djangoappengine
- Us caldrà el GIT per clonar (git clone ...) i el Mercurial (hg clone ...) per un dels repos.
- Crear symlinks a l'arrel del directori del projecte de test fins als paquets descarregats.
- Crear una app amb
$ python manage.py startapp app1
- Afegir la nova app al projecte. Modificar settings.py:
INSTALLED_APPS = ( ... ,'app1', ...)
- Afegir el mòdul messages (no ve per defecte) a settings.py:
INSTALLED_APPS = ( ... , 'django.contrib.messages', ...)
MIDDLEWARE_CLASSES = ( ... , 'django.contrib.messages.middleware.MessageMiddleware' , ... )
- Crear usuari admin amb
$ python manage.py createsuperuser
- Posar el server en marxa amb:
$ python manage.py runserver
- Editar model de dades;
- app1/models.py
class ElmeuModel1(models.Model): ...
- app1/admin.py
admin.site.register(ElMeuModel1)
- app1/models.py