1. 程式人生 > >django實戰(一)簡單部落格顯示

django實戰(一)簡單部落格顯示

一直想好好學習一下Python,正好Django是一個很好的網站開發框架,可以用來web程式。接下來,以一個部落格為例。

一、建立基本框架:(django1.0+python3.6+pycharm)
(1)建立專案
控制檯輸入以下命令:
django-admin startproject MyDjango
(2)建立app
cd MyDjango
Python manage.py startapp MyBlog

二、Django應用程式開發(MVT框架開發)
1 資料庫表的建立(M)
Myblog/model.py:
首先,在setting.py中的INSTALLED_APPS里加上MyBlog;
在model.py內建立表內容:(標題,內容,釋出時間等)

  class BlogPost(models.Model):
    title=models.CharField('標題',max_length=50)
    content=models.TextField(help_text='部落格內容')
    pub=models.DateTimeField('釋出時間')

    class Meta:
        verbose_name = "部落格"
        verbose_name_plural = verbose_name
        ordering = ["-pub"]

    def __str__
(self):
return self.title

資料庫建立完成後,執行以下:
python manage.py makemigrations
python manage.py migrate
建立成功。
管理資料庫內容:

 #coding=utf-8
  from django.contrib import admin
  from .models import BlogPost
  # Register your models here.
  class BlogPostAdmin(admin.ModelAdmin):
     list_display = ('title'
,'pub') admin.site.register(BlogPost,BlogPostAdmin)
建立管理員:python manage.py createsuperuser
輸入使用者名稱,密碼;建立成功。
輸入以下命令:python manage.py runserver執行伺服器
然後在瀏覽器網址127.0.0.1:8000/admin登入:點選新增部落格
![圖片1](https://img-blog.csdn.net/20170325160241564?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTE4ODUyODY3MDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![圖片2](https://img-blog.csdn.net/20170325160325508?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTE4ODUyODY3MDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

2 新增檢視控制:(V)
view.py裡:(一個檢視函式對應一個url)

#coding=utf-8
from django.shortcuts import render,render_to_response
from .models import BlogPost
# Create your views here.
def myBlog(request):
    blog_list=BlogPost.objects.all()
    return render_to_response('BlogTemplate.html',{'blog_list':blog_list})

urls.py裡,定義新的url:
url(r’^myBlogs/$’,myBlog),#當然得引入view(from MyBlog.view import *)

3 完成模板配置(T)
在MyBlog資料夾裡新建資料夾templates,然後在templates裡新建BlogTemplate.html。
我們可以定義一個基礎的base.html作為所有頁面的基類:
base.html

<!DOCTYPE html>
<html lang="zh">
<head>

<meta charset="UTF-8">
    <title>標題</title>
</head>
<style type="text/css">
    body{
        color:#efd;
        background: #bbbbbb;
        padding: 12px 5em;
        margin: 7px;
    }
    h1{
        padding: 2em ;
        background: #675;
    }
    h2{
        color: #85F2F2;
        border-top: 1px dotted #fff;
    }
    p{
        margin: 1em 0;
    }

</style>
<body>
<h1>我的博文</h1>
<h3>這是簡潔的博文</h3>
{% block content %}{% endblock %}
</body>
</html>

{% extends “base.html” %}
{% block content %}
{% for post in blog_list %}

        <h2>{{ post.title }}</h2>
        <p>{{  post.pub}}</p>
        <p>{{ post.content }}</p>
    {% endfor %}
{% endblock %}

”’
執行命令:Python manage.py runserver,獲得URL
在瀏覽器輸入:http://127.0.0.1:8000/myBlogs/,獲得內容:
部落格內容
到這裡,一個簡單的部落格就結束了。
總結一下:django開發是以MVT模式開發的,熟悉每個模組的作用才能開發出好的程式。