Django个人博客搭建1-创建Django项目和第一个App
Django个人博客搭建2-编写文章Model模型,View视图
Django个人博客搭建3-创建superuser并向数据库中添加数据并改写视图
Django个人博客搭建4-配置使用 Bootstrap 4 改写模板文件
Django个人博客搭建5-编写文章详情页面并支持markdown语法
Django个人博客搭建6-对文章进行增删查改
Django个人博客搭建7-对用户登陆注册等需求的实现
Django个人博客搭建8-优化文章模块
Django个人博客搭建9-增加文章评论模块
1.创建superuser
上章说到浏览器已经打印出hello world了
我们需要后台拥有数据,不过不需要我们手动向数据库添加,django内置了一个后台管理工具
在控制台输入如下代码创建superuser
python manage.py createsuperuser
依次输入用户名密码,邮箱什么的可以不填:
F:\PycharmProject\myblog\myblog>python manage.py createsuperuser
System check identified some issues:
WARNINGS:
article.ArticlePost.created: (fields.W161) Fixed default value provided.
HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. If you want to have the current date as default, use `django.utils.timezone.now`
Username (leave blank to use 'mechrevo'): root
Email address:
Password:
Password (again):
Superuser created successfully.
F:\PycharmProject\myblog\myblog>
可以看见成功创建了superuser
2. 将ArticlePost注册到后台中
打开article/admin.py,写入以下代码:
from django.contrib import admin
# Register your models here.
from django.contrib import admin
from .models import ArticlePost
# 注册ArticlePost到admin中
admin.site.register(ArticlePost)
这样后台就注册好了
3. 熟悉django后台并添加数据
在创建完superuser后我们可以在浏览器中输入 http://127.0.0.1:8000/admin/ 后看到如下界面
输入用户名密码后进入后台
可以看到网站界面是英文的,可以在settings.py中进行中文设置:
修改
LANGUAGE_CODE和TIME_ZONE为
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
网站界面就变成中文的了,并且时间用的是上海时间.红框内就是刚刚添加的数据表
点击进入后点击右上角的增加按钮进行数据的添加
我们可以添加多条数据,这里我添加了三条
打开用navicat打开数据库可以看到
数据库中增加了三条数据
4. 改写视图函数
改写article/views.py中的article_list函数
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
from .models import ArticlePost
# 视图函数
def article_list(request):
# 取出所有博客文章
articles = ArticlePost.objects.all()
# 需要传递给模板对象
context = {'articles': articles}
# render函数载入模板,并返回context对象
return render(request, 'article/list.html', context)
# article/list.html:模板位置 context:传入模板的对象
render中: article/list.html代表模板位置 context:传入模板的对象
5. 编写模板
在根目录下创建模板文件夹templates,在templates中再新建article文件夹代表是article app的模板,再创建一个html文件list.html
并且需要告诉django模板的位置,修改 settings.py中的TEMPLATES下的DIRS如下:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
并在list.html中添加如下代码:
{% for article in articles %}
<p>{{ article.title }}</p>
{% endfor %}
用浏览器打开 http://127.0.0.1:8000/article/article-list/ 可以看到成功显示了三篇文章
Django个人博客搭建1-创建Django项目和第一个App
Django个人博客搭建2-编写文章Model模型,View视图
Django个人博客搭建3-创建superuser并向数据库中添加数据并改写视图
Django个人博客搭建4-配置使用 Bootstrap 4 改写模板文件
Django个人博客搭建5-编写文章详情页面并支持markdown语法
Django个人博客搭建6-对文章进行增删查改
Django个人博客搭建7-对用户登陆注册等需求的实现
Django个人博客搭建8-优化文章模块
Django个人博客搭建9-增加文章评论模块