DjangoWeb: 快速搭建Blog

参考自:django 快速搭建blog http://www.cnblogs.com/fnng/p/3737964.htmlcss

1.建立工程: html

django-admin.py startproject MySite

manage.py ----- Django项目里面的工具,经过它能够调用django shell和数据库等。python

settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其余一些工做的变量。shell

urls.py ----- 负责把URL模式映射到应用程序。数据库

2.运行服务:django

 python manage.py mysite

3.建立blog应用: 服务器

python manage.py startapp blog

4.设计你的Model:app

class BlogPost(models.Model):
    #建立博客类,包含博客标题,博客正文,博客建立时间
    title=models.CharField(max_length=150)
    body=models.TextField()
    timestamp=models.DateTimeField()

建立号Model后,要设置数据库,python自带SQLite函数

5.同步数据库工具

python manage.py syncdb

6.在Setting添加一个Blog应用

7.将Model添加到admin后台:

from django.contrib import admin
from models import BlogPost
# Register your models here.
admin.site.register(BlogPost)

8.再次初始化数据库

9.启动服务

 

------------------------------------------

10 设置 admin的管理界面(决定每一个表里面显示的内容,以列表形式展现)

#设置admin的BlogsPost界面
class BlogPostAdmin(admin.ModelAdmin):
    list_display = ('title','timestamp')
admin.site.register(BlogPost,BlogPostAdmin)

11.建立模板

在blog的templates目录(mysite/blog/templates)下面建立html文件

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

12.设置模版路径,在setting文件底部添加模版路径

这里一直出错由于我TEMPLATE_DIRS没有大写,以前出错由于没有在setting底部添加模版路径

#template
TEMPLATE_DIRS=( '/home/pxxxy/PycharmProjects/DDjango/MySite/templates' )

13.建立视图函数

把模板添加到视图
# Create your views here. def archive(request): posts
=BlogPost.objects.all() #获取数据库里面全部用于普BlogPost对象 t=loader.get_template("archive.html") #加载模版 c=Context({'post':posts})#模版的渲染的数据是一个有字典类,这里是一对键值对 return HttpResponse(t.render(c))

14.建立Blog的URL模式

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'MySite.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    url(r'^mysite/', archive)
)

15.再次启动服务器访问应用就能够

 

16. 添加样式

建立基础模板,在templates目录下建立base.html模版

<!DOCTYPE html>
<html>
     <style type="text/css">
         body{color:#efd; background:#435; padding:0 5em; margin:0}
         h1{padding:2em lem; background:#675}
         h2{color:#bf8; border-top:lpx dotted #fff; margin-top:2em}
         p{margin: lem 0}
     </style>

     <body>
     <h1>梓听</h1>
     <h3>Yoooohooo!</h3>
     {% block content %}
     {% endblock %}
     </body>
</html>

修改archive.html模版,让它引用base.html 模版和它的content块

{% extends "base.html" %}
{% block content %}
    {% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.timestamp }}</p>
    <p>{{ post.body }}</p>
    {% endfor %}
{% endblock %}

再次刷新页面

相关文章
相关标签/搜索