当前位置:  开发笔记 > 编程语言 > 正文

django视图从另一个应用程序渲染为模板

如何解决《django视图从另一个应用程序渲染为模板》经验,为你挑选了1个好方法。

我正在尝试从另一个应用程序渲染为模板,但是不确定如何导入,或者是否应该使用模板导入?

结构是

project->
    main app->
       templates->
         pages->
           home.html
         account ->
    current app->
       views.py

我的views.py文件位于当前应用程序中,并试图访问主应用程序中的模板(在pages子文件夹中)。

我将如何渲染它:

def temp_view(request):
    ....
    return render(request, "home.html",context)

DhiaTN.. 5

最初,您应该在settings.py中使用类似以下内容配置模板的静态路径

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',
                'django.template.context_processors.i18n',
            ],
        },
    },
]

APP_DIRS=True意味着Django将根据您的情况在每个应用程序目录中查找模板,main_app/并且current_app/

您只需提及将模板路径视为根路径的模板路径,就这么简单:

def temp_view(request):
   ....
   return render(request, "pages/home.html",context)

Django将在main_app/ 目录下查找该文件 pages/home.html



1> DhiaTN..:

最初,您应该在settings.py中使用类似以下内容配置模板的静态路径

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',
                'django.template.context_processors.i18n',
            ],
        },
    },
]

APP_DIRS=True意味着Django将根据您的情况在每个应用程序目录中查找模板,main_app/并且current_app/

您只需提及将模板路径视为根路径的模板路径,就这么简单:

def temp_view(request):
   ....
   return render(request, "pages/home.html",context)

Django将在main_app/ 目录下查找该文件 pages/home.html

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有