【发布时间】:2016-09-22 14:53:30
【问题描述】:
试图掌握 Django 的基础知识。即应用程序如何工作。 文档:https://docs.djangoproject.com/en/stable/ref/applications/#methods
在 AppConfig 类的代码中我们可以读到:
def ready(self):
"""
Override this method in subclasses to run code when Django starts.
"""
嗯,这是我的例子:
my_app/apps.py
class MyAppConfig(AppConfig):
name = 'my_app'
def ready(self):
print('My app')
我只想让 ready 方法工作。也就是说,当 Django 找到 my_app 时,让它运行 ready 方法。
应用已在 INSTALLED_APPS 中注册。
我执行“python manage.py runserver”。并且没有打印任何内容。
如果我在 ready 方法中放置一个断点,调试器不会停在那里。
你能帮我吗:我在这里理解的错误是什么。提前谢谢你。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_app',
]
我创建了一个视图
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')
]
嗯,视图正在运行。这意味着应用程序已注册。
【问题讨论】:
-
请显示您在
INSTALLED_APPS注册应用程序的设置中的代码。 -
请看编辑后的帖子。
-
@Michael 它对你有用吗?因为我正在尝试做同样的事情,而且我使用的是公认的答案,但它不起作用
-
@KyluAce 是的,它运行正常。
标签: django