五:Django學習:開始搭建我的博客網站

1、分析功能模塊

要建立一個博客,先須要對總體功能模塊進行分析,基本的博客網站包括博客,評論,點贊,閱讀,以及用戶。python

  • 博客
    • 博文
    • 博客分類
    • 博客標籤
  • 評論
  • 點贊
  • 閱讀
  • 用戶--> 第三方登錄(QQ/微博)

2、建立虛擬環境,實現項目隔離

  • 安裝第三方包virtualenv,使用命令pip install virtualenvshell

  • 建立一個虛擬環境,使用命令virtualenv mysite_env數據庫

  • 進入虛擬環境文件夾cd mysite_env,激活虛擬環境Scripts\activatedjango

G:\mysite_env>Scripts\activate
(mysite_env) G:\mysite_env>

前面的mysite_env表示進入了虛擬環境session

ps:退出虛擬環境的命令:deactivateapp

3、開始初步構建項目

  • 建立項目名mysite,使用命令django-admin startproject mysite
  • 進入項目文件夾cd mysite,建立博客app,使用命令python manage.py startapp blog
  • 編寫博文和博客分類模型blog models.py
from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class BlogType(models.Model):
    type_name = models.CharField(max_length=15)

class Blog(models.Model):
    title = models.CharField(max_length=50)
    blog_type = models.ForeignKey(BlogType, on_delete="models.DO_NOTHING")
    content = models.TextField()
    author = models.ForeignKey(User, on_delete="models.DO_NOTHING")
    created_time = models.DateTimeField(auto_now_add=True)
    last_updated_time = models.DateTimeField(auto_now=True)
  • 數據庫初始化python manage.py migrate,建立超級用戶python manage.py createsuperuser
  • 將應用添加到全局設置中,settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog'
]
  • 建立遷移文件python manage.py makemigrations,同步數據庫python manage.py migrate.網站

  • 註冊模型blogs admin.py,以使得後臺管理頁面能顯示博文信息ui

from django.contrib import admin
from .models import Blog,BlogType

# Register your models here.
@admin.register(BlogType)
class BlogTypeAdmin(admin.ModelAdmin):
    list_display = ('id', 'type_name')

@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
    list_display = ('title', 'blog_type', 'author', 'created_time', 'last_updated_time')
  • 修改後臺管理頁面爲中文顯示setttings.py
LANGUAGE_CODE = 'zh-Hans'
  • 啓動服務python manage.py runserver,訪問後臺系統管理頁面127.0.0.1:8000/admin

  • 添加Blog類型

  • 添加Blog文章時發現博客類型未顯示出來

  • 修改blog models.py文件讓博客類型顯示
from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class BlogType(models.Model):
    type_name = models.CharField(max_length=15)

    def __str__(self):
        return self.type_name

class Blog(models.Model):
    title = models.CharField(max_length=50)
    blog_type = models.ForeignKey(BlogType, on_delete="models.DO_NOTHING")
    content = models.TextField()
    author = models.ForeignKey(User, on_delete="models.DO_NOTHING")
    created_time = models.DateTimeField(auto_now_add=True)
    last_updated_time = models.DateTimeField(auto_now=True)

    def __str(self):
        return "<Blog: %s>" % self.title
  • 刷新頁面,分類正常顯示

  • 寫第一篇博客


拓展:spa

安裝包的重定向可以使用命令pip freeze > requirements.txtcode

查看requirements.txt文件

要安裝requirements.txt文件中的包時,可以使用pip install requirements.txt

相關文章
相關標籤/搜索