哇 感觉这两天变得有点懒。勉励勉励自己认真一点了。今天分析一个加密数据搞的头都炸了,心态炸裂
还是开始写笔记吧
今天开始就要开始完善博客页面的内容了。
首先要准备一下思路。了解一下简单博客的页面布局
1.博客的主页面 2.博客文章内容页面 3.博客撰写页面
简单的博客页面这三个就差不多了
主页面内容:
文章标题列表,超链接
发表博客的按钮(超链接)
标题列表的思路:取出数据库中所有文章对象。将文章对象们打包成列表,传递到前端,前端页面把文章以标题超链接的形式逐个列出。
其中需要用到for循环来列出。{% for xx in xxs %} {% endfor %}
views.py中 获取文章所有对象:
def index(request): articles = models.Article.objects.all() return render(request, 'blog/index.html', {'articles': articles})
index.html:
<h1><a href="">新文章</a></h1> {% for article in articles %} <a href="">{{ article.title }}</a> <br/> {% endfor %}
接下来是博客文章页面
页面内容:标题,文章内容,修改文章按钮(超链接)
在views.py中创建一个文章页面的响应函数
def article_page(request,article_id): article = models.Article.objects.get(pk=article_id) return render(request,'blog/article_page.html',{'article':article})
在get里面传递数据库表中的主键。跳转文章页面的方法就是按照文章主键的值来进行配置url来访问该文章页面。所以在get中pk=articl_id。
接下来创建一个article_page.html。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Aticle Page</title> </head> <body> <h1>{{ article.title }}</h1> <br/> <h3>{{ article.content }}</h3> <br/><br/> <a href="">修改文章</a> </body> </html>
然后就要开始重要的配置urls了。
from django.urls import path from django.conf.urls import url from . import views urlpatterns = [ path('index', views.index), url(r'^article/(?P<article_id>[0-9]+)$',views.article_page), ]
这里article_id用到正则表达式。来匹配数字 进入文章页面。
url正则中的组名必须和参数名一致。
ok搞定今天的内容