Django Blog - 01. 基本应用搭建
初始环境搭建
创建虚拟环境 & 安装 Django
1 | mkdir blog |
创建 Django Blog 项目
1 | django-admin startproject blog_prj . |
运行该项目
1 | python manage.py runserver |
运行项目后,会在控制台有如下输出内容:
浏览器打开链接http://127.0.0.1:8000/
后,如下图所示:
创建新的应用 blog
1 | python manage.py startapp blog |
执行数据库迁移操作
1 | python manage.py migrate |
修改settings.py
文件,增加新的应用blog
1 | INSTALLED_APPS = [ |
数据库模型
修改blog/models.py
文件,代码如下:
1 | from django.db import models |
执行数据库迁移:
1 | python manage.py makemigrations blog |
Django Admin
新建管理员账号:
执行python manage.py runserver
再次运行 Django 服务,并在浏览器中打开 http://127.0.0.1:8000/admin/
,登入管理员账号后会看到下图:
添加 Post
模型
修改blog/admin.py
文件,代码如下:
1 | from django.contrib import admin |
刷新网页后,看到更新如下:
随意增加两条样本数据,刷新页面如下:
Views
编辑blog/views.py
文件,代码如下:
1 | from django.views.generic import ListView |
Templates
在项目根目录中创建templates
目录,并在该目录中创建base.html
和home.html
文件:
更新settings.py
文件,让 Django 知道到哪里找templates
目录,代码如下:
1 | TEMPLATES = [ |
编辑base.html
文件,代码如下:
1 | <html> |
编辑home.html
文件,代码如下:
1 | {% extends 'base.html' %} |
URLs
新建blog/urls.py
文件,代码如下:
1 | from django.urls import path |
更新项目的urls.py
文件,代码如下:
1 | from django.contrib import admin |
再次运行程序,刷新页面http://127.0.0.1:8000/
,显示如下:
静态文件
在项目根目录中创建static
目录:
更新settings.py
文件,让 Django 知道到哪里找static
目录,代码如下:
1 | STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] |
在static
目录中创建css
目录,并在css
目录中创建base.css
文件:
编辑base.css
文件,代码如下:
1 | header h1 a { |
最后,在base.html
模板文件的最上方增加的那行 load static
代码的作用是可以让模板关联到静态文件的目录。另外,通过<link>
标签来明确地引入base.css
文件,代码如下:
1 | {% load static %} |
再次运行程序,刷新页面http://127.0.0.1:8000/
,样式已经生效,如下所示: