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 %}

再次刷新頁面

相關文章
相關標籤/搜索