我是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。
请帮我看看。
谢谢, 詹姆斯
答案 0 :(得分:0)
你似乎混淆了文件路径和URL,这是Django中的两个不同的东西(例如,如果你来自php世界,它的行为不一样)。 如果您正在运行django开发服务器,那么您将无法以这种方式访问模板。
简而言之,您需要在urls.py
中定义一个指向视图的网址,例如views.py
,然后调用模板。有关其工作原理的详细示例,请参阅https://docs.djangoproject.com/en/1.11/intro/tutorial03/。
一开始可能看起来很重,但这可以让你更好地控制你的网址方案,因为它可以摆脱任何文件系统限制。