天天看點

django快速做一個部落格項目(1)

使用Django快速做一個部落格項目

學習資料是慕課網咚咚嗆老師的課程。

1.安裝Python3.7,Pycharm專業版,Django3.1環境等。

2.打開pyharm建立一個Django_introduction項目,包含blog app,注意看圖檔Application name是blog

django快速做一個部落格項目(1)

使用pycharm就是省了下面代碼:

python manage.py startproject django_introduction
cd Django_introduction
python manage.py startapp blog
           

3 複制項目的urls.py到應用中

項目結構如下:

django快速做一個部落格項目(1)

4 blog app裡models.py中加入

from django.db import models

# Create your models here.

class Article(models.Model):
    article_id = models.AutoField(primary_key=True)
    title = models.TextField()
    brief_content = models.TextField()
    content = models.TextField()
    publish_data = models.DateTimeField(auto_now=True)

           

5 資料庫遷移

python manage.py makemigrations
           

會顯示建立模型成功

python manage.py migrate
           

出現如下圖,一堆ok

django快速做一個部落格項目(1)

6 學會使用Django shell,調用模型,添加測試内容

python manage.py shell
           
django快速做一個部落格項目(1)

如上圖中,使用Django shell引入模型,然後給每個字段添加内容并使用save儲存,再使用article.objects.all()查詢出來。

這其實就相當于建立了一篇文章。

7 Django admin子產品的使用。

Django 背景管理工具

使用Django shell 加文章太複雜了,使用 Django admin就可以增删改查。

著名的admin子產品哦,

7.1 建立一個管理者使用者

python manage.py createsuperuser
           

輸入賬号和密碼,郵箱可以不填,我就都先寫admin

7.2 在blog app 中admin.py注冊模型

加入下面代碼

from django.contrib import admin

from .models import Article
# Register your models here.
admin.site.register(Article)
           

然後

python manage.py runserver

啟動項目,運作網址:

看到登入界面如下:輸入賬号和密碼

django快速做一個部落格項目(1)
django快速做一個部落格項目(1)

可以看到我們的app應用和模型已經加載出來啦。點修改進去:

django快速做一個部落格項目(1)

可以看到能修改每一條,新增内容等等。

8.實作部落格資料傳回到頁面

8.1 在blog 應用的views.py視圖中加入函數article_content

中加入下面代碼

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from blog.models import Article


def article_content(request):
    article = Article.objects.all()[0]
    title = article.title
    brief_content = article.brief_content
    content = article.content
    article_id = article.article_id
    publish_date = article.publish_data
    return_str = 'title:%s, brief_content:%s,content:%s,article_id:%s,publish_date:%s' % (title,
                                                                                          brief_content,
                                                                                          content,
                                                                                          article_id,
                                                                                          publish_date)
    return HttpResponse(return_str)
           

8.2注冊應用路由,注冊項目路由。

blog 應用下的urls.py如下:

from django.urls import path

import blog.views

urlpatterns = [
    path('content', blog.views.article_content),
]
           

項目下的urls.py如下:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]
           

輸入網址檢視傳回到頁面的内容:

http://127.0.0.1:8000/blog/content

django快速做一個部落格項目(1)

後面内容是bootstrap實作靜态頁面,模闆系統,頁面跳轉,上下篇文章切換,分頁功能,最近文章清單展示。請看django快速做一個部落格項目(2)