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

kgqe7b3p  于 2023-06-25  发布在  Go
关注(0)|答案(2)|浏览(109)

我是一个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。
请帮助我访问它们。
谢谢,杰米

4szc88ey

4szc88ey1#

你似乎混淆了文件路径和url,这在Django中是两个不同的东西(例如,如果你来自php世界,这不是同一个行为)。如果你运行的是django开发服务器,你将无法通过这种方式访问模板。
简而言之,您需要在urls.py中定义一个指向视图的url,比如在views.py中,它反过来将调用模板。请参阅https://docs.djangoproject.com/en/1.11/intro/tutorial03/以获取有关其工作原理的详细示例。
一开始可能看起来很重,但这让你可以更好地控制你的url方案,因为它摆脱了任何文件系统的限制。

7gyucuyw

7gyucuyw2#

注意:请检查您是否已将应用程序添加到INSTALLED_APPS数组中。
我的场景:
项目名称=场
应用程序名称=主页
因此,在farm文件夹(根位置)中,有一个名为settings.py的文件,现在在此文件中,您将获得一个名为INSTALLED_APPS的数组,现在在此数组中添加一个新应用程序('home ')。比如:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'home' #its add by me
]

相关问题