0%

博客制作——django admin

这里讲的是 django admin 模块


admin是什么


Django的后台管理工具,自动生成

可以读取定义的模型元数据,提供强大的管理使用页面


为什么使用


shell新增文章很复杂

管理页面是基础设施中的重要部分

认证用户、显示管理模型、校验输入等功能类似


怎么使用


创建管理员用户

登录页面管理

输入命令

python manage.py createsuperuser

这里我设置密码是123456

运行

python manage.py runserver

在浏览器输入地址 http://127.0.0.1:8000/admin/

然后填写相关信息,就能进入管理页面


将模型注册到admin里面


在 blog 的admin中填写

1
2
3
4
5
6
7
8
9
10
11
from django.contrib import admin

<br/>

# Register your models here.

<br/>

from .models import Article

admin.site.register(Article)

然后刷新页面就会出现

我们就可以在出现的那个 articles 中直接增删改查


将可视化的体验更好


我们可以看到文章是以对象信息出现的,我们想让它们显示文章标题,可以修改 blog 下的 models.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from django.db import models

# Create your models here.
class Article(models.Model):
# 文章ID
article_id = models.AutoField(primary_key=True)
# 文章标题
title = models.TextField()
# 文章摘要
brief_content= models.TextField()
# 文章的主要内容
content = models.TextField()
# 文章的发布日期
publish_date = models.DateTimeField(auto_now=True)

def __str__(self):
return self.title

重新运行命令

python manage.py runserver

然后文章界面就会变成


返回博客数据


修改 blog 下的views 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from django.shortcuts import render
from django.http import HttpResponse
from blog.models import Article

# Create your views here.

def helloworld(request):
return HttpResponse("hello world")


def article_content(request):
article = Article.objects.all()[0]
title = article.title
brief_content = article.brief_content
content = article.content
article_id = article.article_id
publish_date = article.publish_date
return_str = 'title:%s,brief_content:%s,'\
'content:%s,article_id:%s,publish_data:%s' % (title,
brief_content,
content,
article_id,
publish_date)
return HttpResponse(return_str)

配置路由,即修改 blog 下的 urls.py 文件

1
2
3
4
5
6
7
from django.urls import path,include
import blog.views

urlpatterns = [
path('hello_world',blog.views.helloworld),
path('content',blog.views.article_content)
]

然后开启服务,在浏览器输入

http://127.0.0.1:8000/blog/content

请我喝杯咖啡吧~