Django构建一个Blog入门例子

__init__.py # 视为一个python包
models.py   # 编写django数据类,创建数据库等

views.py    # 编写视图函数,从数据中获取数据显示,映射到模板

1.在models.py中输入:
       

 from django.db import models
 from django.contrib import admin
       
 class BlogPost(models.Model):
      title=models.CharField(max_length=150)
      body=models.TextField()
      timestamp=models.DateTimeField()
2.  创建数据库对应表

执行python manage.py syncdb  # 因为Django数据库是ORM对象关系映射,通过models.py定义的类,创建数据库对应表

3.开通链接数据库的管理界面

 urls.py 中添加:(r'^admin/', include(admin.site.urls)), 

4.修改models.py,在admin注册models

在后面添加 :admin.site.register(BlogPost)

5.开启内建服务器,在127.0.0.1:8000/admin/,输入admin用户名和密码,通过界面在blog posts中填加数据.

6.定制admin后台,添加BlogPostAdmin修改models.py,并在admin中注册:

 from django.db import models
 from django.contrib import admin
       
 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)
7. 修改view.py,编写视图函数,渲染模板:

from django.template import loader, Context
from django.http import HttpResponse
from mysite.blog.models import BlogPost
       
def archive(request):
    posts=BlogPost.objects.all()
    t=loader.get_template("archive.html")
    c=Context({'posts':posts})
    return HttpResponse(t.render(c))
8. 建立template模板

在templates/archive.html,使用Django模板块标签,他将模板渲染到序列中的每个元素

     {% extends "base.html" %}
     {% block content %}
        {% for post in posts %}
          <h2>{{post.title}}</h2>
          <p>{{post.timestamp|date:"F j, Y"}}</p>
          <p>{{post.body}}</p>
        {% endfor %}
    {% endblock %}
9. 激活blog url映射,在urls.py中:

from django.conf.urls import patterns, include, url
from ybsmt.views import *
from django.contrib import admin
admin.autodiscover()
from django.conf import settings

urlpatterns = patterns('',
    (r'^blog/', archive),
)

if settings.DEBUG is False:
    urlpatterns += patterns('',
        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.STATIC_ROOT,
        }),
   )

 输入 http://127.0.0.1:8000/blog 即可看到文章显示



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值