oldbee0925 2022-04-05 03:14 采纳率: 91.4%
浏览 69
已结题

同一template中的html模板,django应当如何调用?

一、下图是界面。对于需求,我在图上做了相应的标注。

img


左边的导航栏,第一个的内容(模板)与首页相同,第二个的模板不同。
二、下面是我的urls:

urlpatterns = [
     path('', views.index,name='index'), #此处对应的是首页的路由
     path('stock_ana/', views.stock_ana,name='stock_ana'),    #此处对应的是左边第一个导航的路由
]

三、我的view中,有def index(request) 和def stock_ana(request)函数。

def index(request): 
        #.............
        template = loader.get_template('index.html')
        return HttpResponse(template.render(context, request))


def stock_ana(request):
        #.............
        template = loader.get_template('stock_ana.html')
        return HttpResponse(template.render(context_ana, request))

四、故障描述与问题:
当我点击左的链接后(http://127.0.0.1/stock_ana/),发现静态目录地址变成了stock_ana/static/,由此,所有的js、css、图片等都不能正常显示了。
问题:
1、我把相应的后台都放在一个views文件中合适吗?没必要为每个页面都建一个app吧?
2、这个静态目录的路径不对问题何解?
谢谢!

  • 写回答

2条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-04-05 08:28
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    oldbee0925 2022-04-06 01:23

    详细看了,没完全懂。针对提出的具体问题,请指教!

    回复
    ~白+黑 回复 oldbee0925 2022-04-06 03:05

    context_ana是哪个变量呢?没看到静态路径配置啊,为什么不知道接用render呢

    下面的示例使用 MIME 类型呈现模板 myapp/index.html application/xhtml+xml :
    
    from django.shortcuts import render
    
    def my_view(request):
        # View code here...
        return render(request, 'myapp/index.html', {
            'foo': 'bar',
        }, content_type='application/xhtml+xml')
    
    此示例相当于:
    
    from django.http import HttpResponse
    from django.template import loader
    
    def my_view(request):
        # View code here...
        t = loader.get_template('myapp/index.html')
        c = {'foo': 'bar'}
        return HttpResponse(t.render(c, request), content_type='application/xhtml+xml')
    
    
    ```python
    
    
    
    
    

    回复
    oldbee0925 回复 ~白+黑 2022-04-06 03:15

    1)静态路由的配置我发了的,在我的第二张图;
    2)你在回复中提到的context_ana变量(字典dict)是在stock_ana中生成的,我省略了;
    2)您的示例我没怎么看懂,麻烦指点一下:
    我想搞懂的是:
    1.我左边的导航url这样写行吗?按我理解咋写都不影响嘛
    2.如果可以,左边每个链接都是打开一个经过后台渲染的页面,模板不同(但是在同一目录)、函数不同,静态路由怎么写?
    3.不必要非得每个页面都新建一个app吧?
    谢谢!

    回复
    展开全部12条评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月6日
  • 创建了问题 4月5日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部