J'essaie de comprendre les bases de Django. A savoir comment fonctionnent les applications. La documentation : https://docs.djangoproject.com/en/stable/ref/applications/#methods
Et dans le code de la classe AppConfig on peut lire :
def ready(self):
"""
Override this method in subclasses to run code when Django starts.
"""
Eh bien, c'est mon exemple :
mon_app/apps.py
class MyAppConfig(AppConfig):
name = 'my_app'
def ready(self):
print('My app')
Je veux juste faire fonctionner la méthode prête. C'est-à-dire que lorsque Django trouve mon_app, il doit exécuter la méthode ready.
L'application est enregistrée dans INSTALLED_APPS.
J'exécute 'python manage.py runserver'. Et rien n'est imprimé.
Si je place un point d'arrêt dans la méthode ready, le débogueur ne s'arrête pas là.
Pourriez-vous m'aider : quelle est mon erreur de compréhension ici ? Je vous remercie d'avance.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_app',
]
Et j'ai créé une vue
ma_app/views.py
def index(request):
print('Print index')
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', my_app_views.index, name='home')
]
Eh bien, la vue fonctionne. Cela signifie que l'application est enregistrée.
0 votes
Veuillez montrer le code des paramètres dans lesquels vous enregistrez l'application.
INSTALLED_APPS
.0 votes
S'il vous plaît, voyez le message édité.
0 votes
@Michael, est-ce que ça marche pour vous ? Parce que j'essaie de faire la même chose et j'utilise la réponse acceptée et cela ne fonctionne pas.
0 votes
@KyluAce Oui, il fonctionne correctement.