本文主要介绍:Python36+Django2.1+PyCharm 编写一个具有最基本功能的博客。主要用于个人理清Django的框架和运作方式。
如果看到这篇文章的人想学习Django的话,建议先看看慕课网的视频教程:https://www.imooc.com/learn/790。
这个视频比较容易入门,我也是看了这个视频之后,决定自己理一下创建博客的思路,才写下这篇文章。毕竟我之前没接触过Web框架一类的东西,对于HTTP的理解也不够好。
还有自强学堂的教程https://code.ziqiangxuetang.com/django/django-tutorial.html。Django目前已经更新到2.1,一些语法也发生了变化,自强学堂的教程有跟进,介绍了2.0版本的用法。
好了,下面直接理理框架、熟悉命令吧。
1.打开文件夹下命令提示符,创建项目:
django-admin startproject simblog
2.创建app:
cd simblog
django-admin startapp blog
3.修改设置,添加APP
用PyCharm打开项目,在settings.py的INSTALLED_APPS
列表中添加'blog',
最好有逗号,避免下次添加时忘记。这一步本身也容易忘记。
4.分析需求
做一个简单的博客,至少需要3个页面:
1.主页面
显示所有文章的名称
可以新建文章
2.文章页面
显示文章的标题和内容
可以修改文章
3.编辑页面
一种是空白的编辑页面(新建文章时)
一种是带有原始文章的页面(编辑文章时)
5.建立模型
首先建立所需数据的模型,没有数据哪来显示之说~
在models.py中:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=30)
content = models.TextField(null=True)
def __str__(self):
return self.title
Django会严格要求空行和缩进。
在这里,数据库的一张表看作一个类,表中的字段就是类的属性。表中的数据就是类对应的对象。
在类中没有创建主键,Django**会自动创建名为id
的主键**,该主键从1开始自增,使用比较方便。
类最下面两行函数的作用是,以title的名字显示对象的存在,而不是Object 1
、Object 2
什么的,让人区分不清楚。
迁移数据库:(告诉系统模型修改过)
python manage.py makemigrations
python manage.py migrate
6.admin界面创建几条数据
1.在admin.py中注册模型:
from django.contrib import admin
from .models import Article
admin.site.register(Article)
2.注册一个admin:(此步之前必须迁移一次数据库)
打开manage.py所在位置的命令提示符,输入
python manage.py createsuperuser
以及管理员名字、邮箱和密码。
3.开启测试服务器:
python manage.py runserver
当然也可以自行改端口。
然后登录http://127.0.0.1:8000/admin/输入账号和密码。
就可以输入数据编辑文章了,admin直接后台管理操作数据的功能可以说非常强大了。
当然简单的创建数据也可以通过<