python django 添加前台页面

使用了django的admin后台

很方便就能生成一系列后台方法

接下来开始添加新的功能


首先要告诉django在admin中显示那一个model以供编辑,


打开app下的model.py文件


添加一个类

from django.db import models
from django.contrib import admin
# Create your models here.


class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()
    

并在结尾注册model代码

admin.site.register(BlogPost)

再次调试,在admin后台中就能看到你的类的功能实现了


每一个帖子的命名都是BlogPost object,我们可以通过model.py

对列表格式进行一次设置


from django.db import models
from django.contrib import admin
# Create your models here.


class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()
    
class BlogPostAdmin(admin.ModelAdmin):
    list_display = ("title", "timestamp")


admin.site.register(BlogPost, BlogPostAdmin)


添加一个BlogPostAdmin,并把它加到注册代码那一行。

再次打开页面,列表就美观多了


接下来开始创建blog的公共展示部分

首先在app目录下创建一个固定名称为templates的目录

添加一个名为archive.html的模版

编辑模版内容

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

很通俗的一个模版版标签

for循环,从对象变量中获取了相应的值


相应的模版创建完成,

开始从数据库中读取所有blog的帖子的视图

我们在app下的views.py中输入


# Create your views here.
from django.template import loader, Context
from django.http import HttpResponse
from models import BlogPost


def archive(request): #每个django师徒函数都讲django.http.HttpRequest对象作为它第一个参数它还可以通过URLconf接受其他参数
    posts = BlogPost.objects.all() #当我们办blogpost类作为django.db.model.Model的一个子类时,我们就已经获取到了django对象关系映射的全部
    t = loader.get_template("archive.html") #我们只需告诉django模版的名字就能创建模版对象

    c = Context({"posts":posts}) #django的模版渲染是由一个字典类的对象context提供的
    return HttpResponse(t.render(c)) #每个django视图函数都会返回一个httpResponse对象


接下来页面就差一步了

创建一个url

分两步去执行:

第一:

在urls.py下,添加一行

url(r'^blog/?', include('blog.urls')),

第二:

在app应用程序包中再次创建一个urls.py


from django.conf.urls.defaults import *
from views import archive

urlpatterns = patterns('', url(r"^$", archive),)

现在就可以看到一个朴素的页面了










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值