2010-05-29 3 views
0

Je voudrais parcourir les classes actives dans Django. Je pense que j'apprendrais beaucoup de cette façon. Alors, quel est un bon moyen de le faire?cours de navigation dans django

Je pourrais utiliser IDLE si je savais comment démarrer Django depuis IDLE. Mais comme je suis nouveau sur Python/Django, je ne suis pas particulièrement attaché à IDLE. D'autres alternatives?

Répondre

1

playing with the API

Vous pouvez facilement charger un projet django dans IDLE. Tout ce dont il a besoin est le projet sur sys.path et os.environ['DJANGO_SETTINGS_MODULE'] défini sur le package de paramètres.

E.g.

import sys 
import os 
sys.path.append("/path/to/parent") # under which myproject is hosted 
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings' 
import myproject.myapp.models # or whatever 

Doit être tout ce dont vous avez besoin.

1

J'imagine ce que vous entendez par classe parcourant. Si vous êtes à l'aise avec le terminal, vous pouvez essayer d'inspecter les objets python/django via le shell et l'auto-complétion.

$ ./manage shell 
Python 2.6.4 (r264:75706, Feb 6 2010, 01:49:44) 
Type "copyright", "credits" or "license" for more information. 

IPython 0.10 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object'. ?object also works, ?? prints more. 

In [1]: from your.app.models import * 
In [2]: 
... 

Vous pouvez également aimer this enhanced version of the Django shell.

Je recommande également la documentation django, par ex. si vous voulez en apprendre davantage sur Request et Response objets:

Comment faire pour activer l'onglet d'achèvement dans le shell python par défaut:

+0

Merci pour la réponse. J'ai posé la question parce que je ne suis pas ravi de la qualité de la documentation. Cela semble décousu. Pour un exemple simple, j'ai essayé une recherche google sur "django http response" m'attendant à être envoyé à une page de documentation Django qui, entre autres, me dirait ce dont j'avais besoin pour importer pour accéder à cette classe. J'ai été envoyé à cette page: http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest et aucune mention de l'instruction IMPORT réelle nécessaire pour accéder. – jamida

1

Je suggère d'ajouter l'application addon django-command-extensions, puis en utilisant:

./manage.py shell_plus 

qui charge tous les modèles de toutes les applications au démarrage, de gagner beaucoup de temps sur la saisie « de myapp.models importer MyModel »

Et bien sûr IPython - qui est utilisé par shell_plus si trouvé - est supérieur au shell par défaut.

Questions connexes