Django前后端结合
静态页面已经显示了,导航、文章内容都是在数据库中导出来的,要怎么处理呢
1、修改导航
在views.py中加入以下内容
def index(requset): navs = ['my的首页','my的相册','my的代码'] title = 'my的相册' dic = {'daohang' : navs,'daohang2':title} return render(requset,'index.html',dic) #render方法会自动找到templates中的index.html,读取他的内容
在index.html中找到导航的文字,替换成两个大括号夹着关键字
<li><a href="index.html">{{ daohang}}</a></li> <li><a href="share.html">{{ daohang2 }}</a></li>
2、如何使用字典循环
(1)先循环导航,将index.html中的以下内容
<header class="header-navigation" id="header"> <nav><div class="logo"><a href="/">杨青个人博客</a></div> <h2 id="mnavh"><span class="navicon"></span></h2> <ul id="starlist"> <li><a href="index.html">网站首页</a></li> <li><a href="share.html">我的相册</a></li> <li><a href="list.html">我的日记</a></li> <li><a href="about.html">关于我</a></li> <li><a href="gbook.html">留言</a></li> <li><a href="info.html">内容页</a></li> <li><a href="infopic.html">内容页</a></li> </ul> </nav> </header>
替换成
<header class="header-navigation" id="header"> <nav><div class="logo"><a href="/">杨青个人博客</a></div> <h2 id="mnavh"><span class="navicon"></span></h2> <ul id="starlist"> {% for nav in daohang %} <li><a href="index.html">{{ nav }}</a></li> {% endfor %} </ul> </nav> </header>
(2)将views.py中的内容写成这样
def index(requset): navs = ['my的首页','my的相册','my的代码','python','linux'] title = 'my的个人博客' articles = [ #r如何使用循环写法 {'title': '文章1', 'content': '文章111111111'}, {'title': '爱情没有永远,地老天荒也走不完', 'content': '也许,爱情没有永远,地老天荒也走不完,生命终结的末端,苦短情长。站在岁月的边端,那些美丽的定格,心伤的绝恋,都被四季的掩埋'}, ] dic = {'daohang' : navs,'title':title,'articles':articles} return render(requset,'index.html',dic) #render方法会自动找到templates中的index.html,读取他的内容
(3)接着循环文章
原始文章是这样的
<div class="r_box"> <li><i><a href="/"><img src="/static/images/1.jpg"></a></i> <h3><a href="/">你是什么人便会遇上什么人</a></h3> <p>有时就为了一句狠话,像心头一口毒钉,永远麻痺着亲密感情交流。恶言,真要慎出,平日多誠心爱语,乃最简易之佈施。</p> </li> <li><i><a href="/"><img src="/static/images/2.jpg"></a></i> <h3><a href="/">爱情没有永远,地老天荒也走不完</a></h3> <p>也许,爱情没有永远,地老天荒也走不完,生命终结的末端,苦短情长。站在岁月的边端,那些美丽的定格,心伤的绝恋,都被四季的掩埋,一去不返。徒剩下这荒芜的花好月圆,一路相随,流离天涯背负了谁的思念?</p> </li> <li><i><a href="/"><img src="/static/images/3.jpg"></a></i> <h3><a href="/">女孩都有浪漫的小情怀——浪漫的求婚词</a></h3> <p>还在为浪漫的求婚词而烦恼不知道该怎么说吗?女孩子都有着浪漫的小情怀,对于求婚更是抱着满满的浪漫期待,也希望在求婚那一天对方可以给自己一个最浪漫的求婚词。</p> </li> </div>
改成
<div class="r_box"> {% for article in articles %} <li><i><a href="/"><img src="/static/images/1.jpg"></a></i> <h3><a href="/">{{ article.title }}</a></h3> <p>{{ article.content }}</p> </li> {% endfor %} </div>
views.py中的内容写成这样
def index(requset): navs = ['my的首页','my的相册','my的代码','python','linux'] title = 'my的个人博客' articles = [ #r如何使用循环写法 {'title': '文章1', 'content': '文章111111111'}, {'title': '文章2', 'content': '文章22222222'}, {'title': '文章3', 'content': '文章33333333'}, {'title': '爱情没有永远,地老天荒也走不完', 'content': '也许,爱情没有永远,地老天荒也走不完,生命终结的末端,苦短情长。站在岁月的边端,那些美丽的定格,心伤的绝恋,都被四季的掩埋'}, ] dic = {'daohang' : navs,'title':title,'articles':articles} return render(requset,'index.html',dic) #render方法会自动找到templates中的index.html,读取他的内容