Trying to catch the basics of Django. Namely how Applications work.
The docs: https://docs.djangoproject.com/en/stable/ref/applications/#methods
And in the code of the class AppConfig we can read:
def ready(self):
"""
Override this method in subclasses to run code when Django starts.
"""
Well, this is my example:
my_app/apps.py
class MyAppConfig(AppConfig):
name = 'my_app'
def ready(self):
print('My app')
I just want to make the ready method work. That is, when Django finds my_app, let it run the ready method.
The app is registered in INSTALLED_APPS.
I execute 'python manage.py runserver'. And nothing is printed.
If I place a breakpoint inside the ready method, the debugger don't stop there.
Could you help me: what is my mistake in understanding here. Thank you in advance.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_app',
]
And I created a view
my_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')
]
Well, the view is working. This means that the application is registered.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…