1、分析功能模塊
要建立一個博客,先須要對總體功能模塊進行分析,基本的博客網站包括博客,評論,點贊,閱讀,以及用戶。python
- 博客
- 博文
- 博客分類
- 博客標籤
- 評論
- 點贊
- 閱讀
- 用戶--> 第三方登錄(QQ/微博)
2、建立虛擬環境,實現項目隔離
-
安裝第三方包
virtualenv
,使用命令pip install virtualenv
shell -
建立一個虛擬環境,使用命令
virtualenv mysite_env
數據庫 -
進入虛擬環境文件夾
cd mysite_env
,激活虛擬環境Scripts\activate
django
G:\mysite_env>Scripts\activate (mysite_env) G:\mysite_env>
前面的mysite_env
表示進入了虛擬環境session
ps:退出虛擬環境的命令:deactivate
app
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.txt
code
查看requirements.txt
文件
要安裝requirements.txt
文件中的包時,可以使用pip install requirements.txt