我是一个Django新手,我创建了一个项目“first pycharm”,结构如下:
\firstpycharm
| manage.py
| views.py
+---firstpycharm
| | middleware.py
| | models.py
| | settings.py
| | urls.py
| | wsgi.py
| | __init__.py
| |
| +---__pycache__
+---app
| | models.py
| | models.pyc
| | urls.py
| | views.py
| +---migrations
| +---static
| | +---build
| | +---images
| | +---vendors
| +---templates
| | **\---app
| | | base_site.html
| | | base_site_bk.html
| | | index.html
| | | index2.html
| | | index3.html
| | | index_bk.html
| | | invoice.html
| | | level2.html
| | | login.html
| | | map.html
| | | media_gallery.html
| | | morisjs.html
| | | other_charts.html
| | | page_403.html
| | | page_404.html
| | | page_500.html
| | | plain_page.html
| | | pricing_tables.html
| | | profile.html
| | | projects.html
| | | project_detail.html
| | | sidebar.html
| | | tables.html
| | | tables_dynamic.html
| | | top_navigation.html
| | | typography.html
| | | widgets.html
| | | xx.html
| | \---report
| | audiance_overview.html**
+---static
| \---script
+---staticfiles
| \---admin
| +---css
| +---fonts
| +---img
| | \---gis
| \---js
| +---admin
| \---vendor
| +---jquery
| \---xregexp
+---templates
我的第一个pycharm使用的应用程序有名称“app”与settins.py有内容:
..........
INSTALLED_APPS = [
'django_cassandra_engine',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_extensions',
'app',
'firstpycharm',
]
..........
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'),
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
我的问题是我可以访问app/templates/app/中的所有html文件。但是当我在app/templates/app/report中创建1个文件夹作为报告时,我无法访问report/audiance_overview. html。
请帮助我访问它们。
谢谢,杰米
2条答案
按热度按时间4szc88ey1#
你似乎混淆了文件路径和url,这在Django中是两个不同的东西(例如,如果你来自php世界,这不是同一个行为)。如果你运行的是django开发服务器,你将无法通过这种方式访问模板。
简而言之,您需要在
urls.py
中定义一个指向视图的url,比如在views.py
中,它反过来将调用模板。请参阅https://docs.djangoproject.com/en/1.11/intro/tutorial03/以获取有关其工作原理的详细示例。一开始可能看起来很重,但这让你可以更好地控制你的url方案,因为它摆脱了任何文件系统的限制。
7gyucuyw2#
注意:请检查您是否已将应用程序添加到INSTALLED_APPS数组中。
我的场景:
项目名称=场
应用程序名称=主页
因此,在farm文件夹(根位置)中,有一个名为settings.py的文件,现在在此文件中,您将获得一个名为INSTALLED_APPS的数组,现在在此数组中添加一个新应用程序('home ')。比如: