博客网站(7)-博客的主页面及文章内容页面
2017-03-18 16:39
176 查看
博客页面概要:
博客主页面:
列表编写思路:
取出数据库中所有文件对象
将文章对象打包成列表传递到前端
views.py
前端列表把文章以标题超链接的形式逐个列出
index.html
在app下views.py中添加响应函数article_page以响应对应文章内容页面:
新建article_page.html:
URL参数传递 :
每个响应函数对应一个URL
在app下的urls.py中设置响应函数对应的URL
(?P<article_id>[0-9]+) 匹配到的数字以article_id作为组名去匹配,组名必须和响应函数中的参数名保持一致,使用(?P<>\d+)的形式将捕获值传给给<>中的参数,比如(?P<article_id>\d+),当访问/blog/article/3时,将会将3捕获给article_id,从而从数据库中取出相应主键的article
Django中的超链接:
template中可以用 {% url ‘app_name : url_name’ param %}来表示目标地址
其中
app_name:应用命名空间的名称
url_name:链接名
param:地址的参数
app_name和url_name 都在url中配置
根urls.py中添加:
app下的url中添加:
博客主页面 ├───文章标题列表(超链接) |___发表博客按钮(超链接) 博客文章内容页面 ├───标题 ├───文章内容 |___修改文章按钮(超链接) 博客撰写页面 ├───标题编辑栏 ├───文章内容编辑区域 |___提交按钮
博客主页面:
列表编写思路:
取出数据库中所有文件对象
将文章对象打包成列表传递到前端
views.py
# coding:utf-8 from django.shortcuts import render from . import models def index(request): articles = models.Article.objects.all() #从数据库中取数据得到一个列表 return render(request, 'index.html', {'articles':articles}) #传递给前段
前端列表把文章以标题超链接的形式逐个列出
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>nic的博客</title> </head> <body> <h2> <a href=" ">添加新文章</a> <!--添加新文章的超链接--> </h2> {% for article in articles %} <!--列表for循环--> <a href=" ">{{article.title}}</a> <!--文章标题超链接--> <br/> {% endfor %} <!--注意for循环结束标志 --> </body> </html>博客文章内容页面:
在app下views.py中添加响应函数article_page以响应对应文章内容页面:
def article_page(request,article_id): #添加参数article_id来传递主键id article = models.Article.objects.get(pk=article_id) #根据主键获取到相应文章对象 return render(request, 'article_page.html', {'article': article})
新建article_page.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>article page</title> </head> <body> <h2>{{ article.title }}</h2> <br/> {{artitle.content}} <br/> <br/> <a href="">修改文章</a> </body> </html>
URL参数传递 :
每个响应函数对应一个URL
在app下的urls.py中设置响应函数对应的URL
url(r'^article/(?P<article_id>[0-9]+)$', views.article_page())
(?P<article_id>[0-9]+) 匹配到的数字以article_id作为组名去匹配,组名必须和响应函数中的参数名保持一致,使用(?P<>\d+)的形式将捕获值传给给<>中的参数,比如(?P<article_id>\d+),当访问/blog/article/3时,将会将3捕获给article_id,从而从数据库中取出相应主键的article
Django中的超链接:
template中可以用 {% url ‘app_name : url_name’ param %}来表示目标地址
其中
app_name:应用命名空间的名称
url_name:链接名
param:地址的参数
app_name和url_name 都在url中配置
根urls.py中添加:
url(r'^nic/', include('blog.urls',namespace='article')) #该应用的命名空间
app下的url中添加:
url(r'^article/(?P<article_id>[0-9]+)$', views.article_page,name='article_page')相应的HTML文件的超链接中添加:
<a href="{% url 'blog:article_page' article_id %}">{{article.title}}</a> <!--文章标题超链接-->则第一篇文章对应的URL为localhost:8000/nic/article/1
相关文章推荐
- 用.net实现远程获取其他网站页面内容!(核心代码分析)
- 鉴于《一步一步SharePoint 2007》系列文章中,很多文章中的图片无法显示,现紧急开通笔者自己的博客网站——www.eallies.com网站
- 用.net实现远程获取其他网站页面内容!(核心代码分析)
- 刚刚从CSDN的博客搬家过来, 有些文章的内容逐步完善, 请多多谅解!
- 从博客采集到RSS订阅--选秀榜selectop.com网站内容管理系统之七
- 用.net实现远程获取其他网站页面内容!(核心代码分析)
- 知名技术博客内容聚合网站
- 英文网站优化,为你的博客获得免费的半原创文章
- 网站文章内容的优化方法
- 将自己的网站或博客文章添加到搜索引擎,提高点击率
- 用.net实现远程获取其他网站页面内容!(核心代码分析)
- 用.net实现远程获取其他网站页面内容!(核心代码分析)
- 本博客所有文章均在网站
- Seo人员工具,seo内容与结构工具|seo页面相似度检测工具|网站优化
- 让网站页面所有内容显示黑白色
- 用.net实现远程获取其他网站页面内容
- 用.net实现远程获取其他网站页面内容!(核心代码分析)
- 有何种方法可以检测所得网站页面是不重复的内容页?
- 静态页面中显示动态内容,一些网站的qq在线状态,还有购物车用的是这个方法
- 在访问ASP网站页面时调用另一个网站页面内容