使用Django快速做一個部落格項目
學習資料是慕課網咚咚嗆老師的課程。
1.安裝Python3.7,Pycharm專業版,Django3.1環境等。
2.打開pyharm建立一個Django_introduction項目,包含blog app,注意看圖檔Application name是blog
使用pycharm就是省了下面代碼:
python manage.py startproject django_introduction
cd Django_introduction
python manage.py startapp blog
3 複制項目的urls.py到應用中
項目結構如下:
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
6 學會使用Django shell,調用模型,添加測試内容
python manage.py shell
如上圖中,使用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
啟動項目,運作網址:
看到登入界面如下:輸入賬号和密碼
可以看到我們的app應用和模型已經加載出來啦。點修改進去:
可以看到能修改每一條,新增内容等等。
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
後面内容是bootstrap實作靜态頁面,模闆系統,頁面跳轉,上下篇文章切換,分頁功能,最近文章清單展示。請看django快速做一個部落格項目(2)