请问个关于 django 动态设置 base 页面的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CodeDrift
V2EX    问与答

请问个关于 django 动态设置 base 页面的问题

  •  
  •   CodeDrift 2015-05-20 11:01:32 +08:00 3108 次点击
    这是一个创建于 3872 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有个django blog。我想用户可以设置meta的信息。
    <title>{{detals.title}}</title>
    <meta name="description" cOntent="{{detals.description}}" />
    <meta name="keywords" cOntent="{{detals.keywords}}">
    <link rel='next' href='{{detals.url}}/about/' />
    <link rel="canonical" href="{{detals.url}}" />
    <meta property="og:title" cOntent="{{detals.name}} - {{detals.url}}" />
    <meta property="og:type" cOntent="blog" />
    <meta property="og:url" cOntent="{{detals.url}}" />

    例如这样。请问要具体怎么做。。真心纠结这个问题。先谢谢!

    12 条回复    2015-05-20 15:53:03 +08:00
    CodeDrift
        1
    CodeDrift  
    OP
       2015-05-20 11:04:06 +08:00
    这写信息写在base.html页面里面。可是怎么才能在后台渲染给base.html呢。
    好像没有专门要去渲染base页面的
    一般都是index.html什么的
    zenxds
        2
    zenxds  
       2015-05-20 11:06:51 +08:00
    把用户设置的信息作为数据传入就行了,base里面一般用block包上,在子页面重写
    CodeDrift
        3
    CodeDrift  
    OP
       2015-05-20 11:11:27 +08:00
    @zenxds 那么每个页面都要重写了?
    zenxds
        4
    zenxds  
       2015-05-20 11:16:25 +08:00
    @Anybfans 你可以单独写一个模板去extend base,然后跟用户相关的页面去extend这个模板,如果你所有页面都想这么设置那就直接写在base
    CodeDrift
        5
    CodeDrift  
    OP
       2015-05-20 11:36:09 +08:00
    @zenxds 对呀。可是怎么数据怎么渲染给base.html呢。。。还是不懂。。
    例如我现在后台已经得到这个数据了。。怎么渲染给Base页面呢
    CodeDrift
        6
    CodeDrift  
    OP
       2015-05-20 11:40:31 +08:00
    @zenxds 我把那个后台获取数据,然后设置session 放在了中间件里面。。
    glasslion
        7
    glasslion  
       2015-05-20 13:39:23 +08:00
    django template 是可以继承和覆盖的

    base.html:
    <head>
    {% block hello %}
    <title> xxx</title>
    {% endblock %}
    </body>
    </head>

    details.htm
    {% extends "base.html" %}


    {% block head %}
    {{ block.super }}
    <meta property="..." />
    {% endblock %}
    CodeDrift
        8
    CodeDrift  
    OP
       2015-05-20 14:01:33 +08:00
    @glasslion 这个知道呀。可是怎么把数据渲染给base.html是个问题。。
    zq9
        9
    zq9  
       2015-05-20 14:28:31 +08:00
    @Anybfans templatetags 传request.user 进去查对应用户的数据返回。。。
    zq9
        10
    zq9  
       2015-05-20 14:37:24 +08:00   1
    CodeDrift
        11
    CodeDrift  
    OP
       2015-05-20 15:39:18 +08:00
    @zq9 对呀。用tags 感觉要简单好多。。。。。。。懂。我试试。先谢谢!
    CodeDrift
        12
    CodeDrift  
    OP
       2015-05-20 15:53:03 +08:00
    @zq9 已经完美解决。谢谢!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2680 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:17 PVG 23:17 LAX 07:17 JFK 10:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86