zoukankan      html  css  js  c++  java
  • 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>
    

      

  • 相关阅读:
    HttpClient(4.3.5)
    HttpClient(4.3.5)
    HttpClient(4.3.5)
    Apache Commons 简述
    树形结构在关系数据库中的设计
    JDK Tools
    JDK Tools
    Linux中Shell循环结构for用法笔记
    Linux有关Shell中if用法笔记
    Linux有关Shell中if用法笔记
  • 原文地址:https://www.cnblogs.com/pythonxiaohu/p/5820263.html
Copyright © 2011-2022 走看看