Django:无法访问特定应用程序模板的文件夹

时间:2017-12-13 03:08:41

标签: python django django-templates django-apps

我是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。

请帮我看看。

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:0)

你似乎混淆了文件路径和URL,这是Django中的两个不同的东西(例如,如果你来自php世界,它的行为不一样)。 如果您正在运行django开发服务器,那么您将无法以这种方式访问​​模板。

简而言之,您需要在urls.py中定义一个指向视图的网址,例如views.py,然后调用模板。有关其工作原理的详细示例,请参阅https://docs.djangoproject.com/en/1.11/intro/tutorial03/

一开始可能看起来很重,但这可以让你更好地控制你的网址方案,因为它可以摆脱任何文件系统限制。