blog (后续更新)
Posted hello!world!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了blog (后续更新)相关的知识,希望对你有一定的参考价值。
设计Model(设计数据库)
from django.db import models # Create your models here. class BlogsPost(models.Model): title =models.CharField(max_length=150) #标题 body =models.TextField() ##内容 timestamp = models.DateTimeField() ##时间
初始化数同步据库
python manage.py makemigrations python manage.py migrate
创建blog的公共部分
从Django的角度看,一个页面具有三个典型的组件:
一个模板(template):模板负责把传递进来的信息显示出来。
一个视图(view):视图负责从数据库获取需要显示的信息。
一个URL模式:它负责把收到的请求和你的试图函数匹配,有时候也会向视图传递一些参数。
创建模板
index.html
{% extends \'base.html\' %} {# 导入母板 #} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% block content %} {# content 内容,blog_list传过来的数据 #} {% for post in blog_list %} <h2>{{ post.title }}</h2> <p>{{ post.timestamp }}</p> <p>{{ post.body }}</p> {% endfor %} {% endblock %} </body> </html>
创建视图函数
views.py
#coding=utf-8 from django.shortcuts import render from blog.models import BlogsPost from django.shortcuts import render_to_response # Create your views here. def index(request): blog_list = BlogsPost.objects.all() #获取数据库里面所拥有BlogPost对象 return render_to_response(\'index.html\',{\'blog_list\':blog_list}) #ender_to_response()返回一个页面(index.html),顺带把数据库中查询出来的所有博客内容(blog_list)也一并返回。
创建blog的URL模式
urls.py
from app1 import views urlpatterns = [ url(r\'^admin/\', admin.site.urls), url(r\'^blog/\',views.blog), ]
创建基础模板
templates目录里创建base.html的模板:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> body{color:#efd;background:#453;padding:0 5em;margin:0} h1{padding:2em 1em;background:#675} h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em} p{margin:1em 0} </style> </head> <body> <h1>孙其虎blog</h1> <h3>人生苦短,我学python</h3> {% block content %} {% endblock %} </body> </html>
修改index.html模板,让它引用base.html模板和它的“content”块。
{% extends \'base.html\' %} {# 导入母板 #} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% block content %} {# content 内容,blog_list传过来的数据 #} {% for post in blog_list %} <h2>{{ post.title }}</h2> <p>{{ post.timestamp }}</p> <p>{{ post.body }}</p> {% endfor %} {% endblock %} </body> </html>
以上是关于blog (后续更新)的主要内容,如果未能解决你的问题,请参考以下文章
typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/