zoukankan      html  css  js  c++  java
  • django构建blog--页面部分(eclipse+pydev)

    本文介绍的是在eclipse+pydev 平台下,利用django 搭建blog的第2部分:页面部分(主要涉及3个部分:模板、视图、URL模式)

    篇幅1:创建模板

    blog目录下新建一个文件夹:templates,添加archive.html文件,让其显示所有blog的内容,代码如下:

    	{% for post in posts %}
    	<h2>{{post.title}}</h2>
    	<p>{{post.timestamp}}</p>
    	<p>{{post.body}}</p>
    	{% endfor %}
    

      

    篇幅2:创建视图函数

    from blog.models import BlogPost
    from django.template import Context,loader
    from django.http import HttpResponse
    
    # Create your views here.
    
    def archive(request):
        posts=BlogPost.objects.all()
        t=loader.get_template("archive.html")
        c=Context({'posts':posts})
        return HttpResponse(t.render(c))
    

    篇幅3:创建一个URL模式

    1 myweb.urls.py文件进行编辑如下:

    from django.conf.urls import include, url
    from django.contrib import admin
    
    urlpatterns = [
        # Examples:
        # url(r'^$', 'myweb.views.home', name='home'),
        url(r'^blog/', include('blog.urls')),
    
        url(r'^admin/', include(admin.site.urls)),
    ]
    

    2 在blog下新建urls.py文件,并进行编辑,如下:

    #coding=utf-8
    from django.conf.urls import  url,patterns
    from blog.views import archive
    
    urlpatterns=patterns('',
        url(r'^$',archive)
                                        
    )
    

     

    访问页面查看效果:http://127.0.0.1:8000/blog/

    篇幅4: 优化页面-模板+日期显示和排序

    1. 设置一个base.html模板,templates下新建base.html文件,编辑如下:

     1 <html>
     2 <head>
     3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
     4 <style>
     5 body{color:#efd;background:#453;padding:0.5em;margin:0}
     6 h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em}
     7 p{}
     8 
     9 </style>
    10 </head>
    11 <body>
    12 {%block content%}
    13 {%endblock%}
    14 </body>
    15 </html>

    2. 修改archive.html模板,让其引用base.html模板和它的“content”块,编辑如下:

     1 <html>
     2 <head>
     3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
     4 <title></title>
     5 </head>
     6 <body>
     7     {%extends "base.html"%}
     8     {%block content%}
     9     {% for post in posts %}
    10     <h2>{{post.title}}</h2>
    11     <p>{{post.timestamp"}}</p>
    12     <p>{{post.body}}</p>
    13     {% endfor %}
    14     {%endblock%}
    15 </body>
    16 </html>

    再次访问页面:http://127.0.0.1:8000/blog/

    3. 按日期排序,修改blog.models.py文件,增加如下代码class Meta:ordering=('-timestamp',)

    from django.db import models
    from django.contrib import admin
    
    # Create your models here.
    class BlogPost(models.Model):
        title=models.CharField(max_length=50)
        body=models.TextField()
        timestamp=models.DateTimeField()
        class Meta:
            ordering=('-timestamp',)
            
        
    class BlogPostAdmin(admin.ModelAdmin):
        list_display=('title','timestamp')
        
    admin.site.register(BlogPost,BlogPostAdmin)

    查看页面

    4. 优化日期显示,属于表现层的内容,修改archive.html文件中日期部分即可

    <p>{{post.timestamp|date:"Y-m-d H:i:s"}}</p>

     
  • 相关阅读:
    UISlider
    App两个页面之间的正反传值方法
    UIImageview的简单运用
    UIPickerview 基本使用
    IOS开发中用开关(UISwitch)跟滑块(UISlider)控制手机屏幕的亮度
    冒泡排序
    简单抽屉实现
    iOS 模态视图,视图之间的切换
    UIScrollView和UIPageControl的使用(实现图片的循环滚动)
    iOS中UIPickerView实现省/市连动
  • 原文地址:https://www.cnblogs.com/nzyjlr/p/4874538.html
Copyright © 2011-2022 走看看