Django快速搭建博客
准备工作:
1.Python
2.Django
3.Git
安装Python:
官网下载
安装Django:
1 2 3 4 | #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 |
现在正式开始创建一个名为my_blog
的Django项目:
1 | $ django-admin.py startproject my_blog |
建立Django app(article):
1 | $ python manage.py startapp article |
到目前为止的项目结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ── article │ ├── __init__.py │ ├── admin.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py ├── my_blog ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-34.pyc │ ├── settings.cpython-34.pyc │ ├── urls.cpython-34.pyc │ └── wsgi.cpython-34.pyc ├── settings.py ├── urls.py └── wsgi.py |
并在my_blog/my_blog/setting.py下添加新建app:
1 2 3 4 | INSTALLED_APPS = ( ... 'article' , #这里填写的是app的名称 ) |
运行程序!启动Django中的开发服务器:
1 | $ python manage.py runserver |
如果出现以上界面则说明运行成功。
命令总结
1 2 3 | python manage.py <command> [options] #Django Command python manange.py -h帮助文档 django-admin.py startproject my_blog #创建项目 python manage.py startapp article #创建app |
Django Model:
- 每一个
Django Model
都继承自django.db.models.Model
- 在
Model
当中每一个属性attribute
都代表一个database field - 通过
Django Model API
可以执行数据库的增删改查, 而不需要写一些数据库的查询语句
设置数据库:
Django项目建成后, 默认设置了使用SQLite数据库, 在my_blog/my_blog/setting.py中可以查看和修改数据库设置
1 2 3 4 5 6 | DATABASES = { 'default' : { 'ENGINE' : 'django.db.backends.sqlite3' , 'NAME' : os.path. join (BASE_DIR, 'db.sqlite3' ), } } |
还可以设置其他数据库, 如MySQL, PostgreSQL
, 现在为了简单, 使用默认数据库设置。
创建models:
在my_blog/article/models.py下编写以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from django.db import models # Create your models here. class Article(models.Model) : title = models.CharField(max_length = 100) #博客题目 category = models.CharField(max_length = 50, blank = True) #博客标签 date_time = models.DateTimeField(auto_now_add = True) #博客日期 content = models.TextField(blank = True, null = True) #博客文章正文 #python2使用__unicode__, python3使用__str__ def __str__(self) : return self.title class Meta: #按时间下降排序 ordering = [ '-date_time' ] |
其中__str__(self)
函数Article对象要怎么表示自己, 一般系统默认使用<Article: Article object>
来表示对象, 通过这个函数可以告诉系统使用title字段来表示这个对象
CharField
用于存储字符串, max_length设置最大长度TextField
用于存储大量文本DateTimeField
用于存储时间, auto_now_add设置True表示自动设置对象增加时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】