Django: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
 
==Install Packages==
 
==Install Packages==
 
* Find version: https://pypi.python.org/pypi/
 
* Find version: https://pypi.python.org/pypi/
 +
 +
==Django CMS==
 +
Best Practices:
 +
* Test web pages always with "Preview". When the page is ready see it with "Publish".
  
 
==Virtualenv==
 
==Virtualenv==
Zeile 11: Zeile 15:
 
* source <your_environment>/bin/activate
 
* source <your_environment>/bin/activate
 
* . ~/.environments/<your_environment>/bin/activate
 
* . ~/.environments/<your_environment>/bin/activate
 +
 +
See:
 +
[http://pad.sinnwerkstatt.com/p/backend-guidelines Backend Guidelines of Sinnwerkstatt]
 +
 +
===Virtualenv Wrapper===
 +
* [http://virtualenvwrapper.readthedocs.org Virtualenv Wrapper Docs]
 +
** sudo pip install virtualenvwrapper
 +
** Add to your .bashrc:
 +
*** export WORKON_HOME=~/path/to/your/virtualenvironments
 +
*** export PROJECT_HOME=~/path/to/your/workspace
 +
*** source /usr/local/bin/virtualenvwrapper.sh
 +
** Restart your bash
 +
** To add a project to the wrapper:
 +
*** Cd to your project and activate its virtualenv
 +
*** <pre>setvirtualenvproject $VIRTUAL_ENV $(pwd)</pre>
 +
*** Then you can use "workon <project_folder_name>" to active and cd to the project.
 +
 +
===PIP===
 +
* sudo pip install <package_name> - installs the package globally
 +
* pip install <package_name> - installs the package in the current python context (often in the virtualenv)
  
 
==Tutorials==
 
==Tutorials==
Zeile 30: Zeile 54:
 
* Install Databases
 
* Install Databases
 
  ~/.environments/<PROJEKT>env/bin/pip install -r requirements.txt
 
  ~/.environments/<PROJEKT>env/bin/pip install -r requirements.txt
 +
 +
==Requirements.txt==
 +
On change of the requirements.txt:
 +
* pip install -r requirements.txt
 +
* <ENV> manage.py '''syncdb'''
 +
* <ENV> manage.py '''migrate'''
  
 
==Migrations==
 
==Migrations==
 
* Migrate on change of requirements.txt, e.g. new tables are added.
 
* Migrate on change of requirements.txt, e.g. new tables are added.
 +
** <ENV> manage.py '''syncdb'''
 
** <ENV> manage.py '''migrate'''
 
** <ENV> manage.py '''migrate'''
 
* Migrate on model change:
 
* Migrate on model change:
Zeile 45: Zeile 76:
 
* [https://docs.djangoproject.com/en/1.5/topics/i18n/translation/#how-django-discovers-translations How Django discovers translations]
 
* [https://docs.djangoproject.com/en/1.5/topics/i18n/translation/#how-django-discovers-translations How Django discovers translations]
 
* Create or update message files:
 
* Create or update message files:
** django-admin.py makemessages -l de
+
** manage.py makemessages -l de
 +
* Compile:
 +
** manage.py compilemessages -v 2 -l de
 
* Compile all:
 
* Compile all:
 
** bash compilemessages.sh
 
** bash compilemessages.sh
Zeile 58: Zeile 91:
 
** )
 
** )
 
** Stackoverflow: http://stackoverflow.com/questions/1832709/django-how-to-make-translation-work?rq=1
 
** Stackoverflow: http://stackoverflow.com/questions/1832709/django-how-to-make-translation-work?rq=1
 +
 +
==AJAX==
 +
* http://www.dajaxproject.com/
  
 
==REST==
 
==REST==
[http://django-rest-framework.org/ Django REST Framework]
+
* [http://django-rest-framework.org/ Django REST Framework]
 +
 
 +
==AngularJS==
 +
* [https://www.youtube.com/watch?v=Q8FRBGTJ020 django-rest-framework and angularjs]
 +
 
 +
==Best Practices==
 +
* [http://de.slideshare.net/DZPM/12-tips-on-django-best-practices 12 tips on Django Best Practices]
  
 
==Hosting==
 
==Hosting==

Aktuelle Version vom 30. August 2013, 09:44 Uhr

Django - a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

Aptana Configuration

  • Win-Preferences->PyDev->Editor->Code Completeion: Apply completion on '.' and '('

Install Packages

Django CMS

Best Practices:

  • Test web pages always with "Preview". When the page is ready see it with "Publish".

Virtualenv

Activate:

  • source <your_environment>/bin/activate
  • . ~/.environments/<your_environment>/bin/activate

See: Backend Guidelines of Sinnwerkstatt

Virtualenv Wrapper

  • Virtualenv Wrapper Docs
    • sudo pip install virtualenvwrapper
    • Add to your .bashrc:
      • export WORKON_HOME=~/path/to/your/virtualenvironments
      • export PROJECT_HOME=~/path/to/your/workspace
      • source /usr/local/bin/virtualenvwrapper.sh
    • Restart your bash
    • To add a project to the wrapper:
      • Cd to your project and activate its virtualenv
      • setvirtualenvproject $VIRTUAL_ENV $(pwd)
      • Then you can use "workon <project_folder_name>" to active and cd to the project.

PIP

  • sudo pip install <package_name> - installs the package globally
  • pip install <package_name> - installs the package in the current python context (often in the virtualenv)

Tutorials

Style Guides

Images

Configure with PyCharm

Databases

  • Install Databases
~/.environments/<PROJEKT>env/bin/pip install -r requirements.txt

Requirements.txt

On change of the requirements.txt:

  • pip install -r requirements.txt
  • <ENV> manage.py syncdb
  • <ENV> manage.py migrate

Migrations

  • Migrate on change of requirements.txt, e.g. new tables are added.
    • <ENV> manage.py syncdb
    • <ENV> manage.py migrate
  • Migrate on model change:
    • manage.py schemamigration app_name --auto
    • manage.py migrate app_name
  • Django database migration tool: south, explained
  • Delete migration
    • manage.py migrate <app_name> <number_of_migration_to_rollback_to>
    • delete file

Internationalization

  • How Django discovers translations
  • Create or update message files:
    • manage.py makemessages -l de
  • Compile:
    • manage.py compilemessages -v 2 -l de
  • Compile all:
    • bash compilemessages.sh


If you have problems with translating strings:

AJAX

REST

AngularJS

Best Practices

Hosting

Sites in Django