Django搭建自己的博客网站(二)

这里主要讲构建系统数据库Model.

Django搭建博客网站(一)

model

目前就只提供一个文章model和一个文章分类标签model,在post/models.py中做如下修改:

# models.py
from django.db import models class PostTag(models.Model):
tag_name = models.CharField(max_length=50) def __str__(self):
return self.tag_name class Post(models.Model):
post_title = models.CharField(max_length=200)
pub_date = models.DateField('published date')
change_date = models.DateField('changed date')
post_description=models.CharField(max_length=200)
post_content = models.TextField()
posttag = models.ManyToManyField(PostTag,blank=True) def __str__(self):
return self.post_title

因为一篇文章可能有多个标签,一个标签下可能也有多篇文章,所以数据表关联关系就使用的多对多关系(ManyToMany).

创建管理员用户

$ python manage.py createsuperuser

设置用户名,邮箱,密码.

现在运行项目可以访问127.0.0.1:8000/admin.

为post注册url

现在还不能访问post app,因为还没有注册url,注册url,首先在post的目录下创建一个urls.py:

# post/urls.py
from post import views
app_name='post'
urlpatterns=[
path('',views.index,name='index'),
]

# post/views.py
from django.http import HttpResponse def index(request):
return HttpResponse('<h1>Hello</h1>')

此时再运行项目就可以访问127.0.0.1:8000/post,从而访问post app的首页了.

后台管理

先得把上面的两个model在admin.py里面注册:

# post/admin.py
# ..... class PostAdmin(admin.ModelAdmin):
filter_horizontal = ('posttag',) admin.site.register(Post,PostAdmin)
admin.site.register(PostTag)

此时在后台就可以管理文章和文章标签了.

本文到此结束了,下一篇写写view的逻辑和html模板.

Django搭建博客网站(二)的更多相关文章

  1. Django搭建博客网站(四)

    Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...

  2. Django搭建博客网站(三)

    Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...

  3. Django搭建博客网站(一)

    Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...

  4. Django 搭建博客记(二)

    当前博客实现的功能 实现 Markdown 语法功能 python 安装 markdown 模块 添加 markdown 过滤 实现代码高亮 通过 CSS 样本实现 分页功能 简单的关于页面和标签分类 ...

  5. 使用django搭建博客并部署

    2017/8/31 18:27:59 为了以后参考的方便,在这里总结一下django搭建博客网站的主要步骤.以下大部分的内容,参考自Django中文文档 - 看云. 需要强调的是,这里使用的djang ...

  6. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  7. Django搭建博客记(一)

    这里记录一些 Django 搭建博客遇到的一些问题 参考书籍为 Django by Example, 这里记录与书籍内容不包含的内容. 搭建环境: 阿里云 ECS + CentOS7 一开始搭建的时候 ...

  8. Django 系列博客(二)

    Django 系列博客(二) 前言 今天博客的内容为使用 Django 完成第一个 Django 页面,并进行一些简单页面的搭建和转跳. 命令行搭建 Django 项目 创建纯净虚拟环境 在上一篇博客 ...

  9. GitHub+Hexo+gulp搭建博客网站

    一.前期准备 1.注册GitHub账号. 不做说明 2.创建仓库 创建一个新的仓库来放置我们的文件. 3.下载安装Node.js https://nodejs.org/en/   两个版本,选择右边那 ...

随机推荐

  1. 面试-java算法题

    1.编写一个程序,输入n,求n!(用递归的方式实现). public static long fac(int n){ if(n<=0) return 0; else if(n==1) retur ...

  2. 免费V P N获取方式。

    给需要加速器链接国外网站的朋友, 打开网址:http://miaoaff.com/reg.php?id=204250: 用一个邮箱注册,就会得到一个免费的vpn软件账号(包含300M流量时间永久): ...

  3. Oracle:FOR循环语句练习

    --打印输出从1到10的正整数DECLARE v_i NUMBER(10) := 0;BEGIN LOOP v_i := v_i + 1; DBMS_OUTPUT.put_line(v_i); EXI ...

  4. Html5+js测试题【完整版】

    一.闭包的理解:使用闭包主要是为了设计私有的方法和变量.闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露.闭包三个特性: 1.函数嵌套函数 ; 2 ...

  5. Django框架之正则表达式URL误区

    问题:我学习的视频大概是2015年录的,里面用的Django版本比较老关于正则表达式URL这一块都是用的url("url(r'^admin/', admin.site.urls)," ...

  6. ADO.NET复习总结(5)--工具类SqlHelper 实现登录

    工具类SqlHelper 即:完成常用数据库操作的代码封装 一.基础知识1.每次进行操作时,不变的代码: (1)连接字符串:(2)往集合存值:(3)创建连接对象.命令对象:(4)打开连接:(5)执行命 ...

  7. 用Express、MySQL搭建项目(接口以及静态文件获取、文件上传等)

    一.简介 本文将主要基于node.js使用express框架搭建一个后台环境,包括如何自定义项目目录.所用依赖以及中间件.路由以及模板引擎.接口数据获取以及文件上传等内容. 二.后台环境搭建 1.新建 ...

  8. linkin大话设计模式--模板方法模式

    linkin大话设计模式--模板方法模式 准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ...

  9. <select>设置multiple="multiple"属性后 下拉框全部展开了 不再是折叠的怎么回事

    1 <select multiple="multiple" size="5"> <option>1</option> < ...

  10. linux安全篇

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 1.限制用户su 限制能su到root的用户. 操作步骤 使用命令 vi /etc/pam.d/su修改配置文件, ...