Django的blog博客系统

本文档详细介绍了如何使用Django框架搭建一个博客系统,从新建项目开始,包括设置静态文件夹、创建App应用、ORM模型、URL路由、视图和模板文件的配置,特别提到了使用bootstrap作为模板,并实现了验证码功能。
摘要由CSDN通过智能技术生成

一、新建工程

创建项目
Django-admin startproject conf

conf 是项目名称
此时会在当前目录下生成一个与之同名的目录,这是Django的配置文件目录

我们将项目名称改为Blog,也可不改,只是方便记忆
在这里插入图片描述

二、建立静态文件夹

在这里插入图片描述

配置静态文件夹和项目文件配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新建App应用

创建应用
python manage.py startapp web

在这里插入图片描述

源码

model orm = = = =》 数据库语句

在这里插入图片描述

# -*- coding: utf-8 -*-
# @Time    : 2019/6/7 22:11
# @Author  : 
# @Email   : 
# @File    : urls.py
# @Software: PyCharm


from django.db import models

# Create your models here.


from django.contrib.auth.models import AbstractUser


class UserInfo(AbstractUser):
    """
    用户信息
    """
    nid = models.AutoField(primary_key=True)
    telephone = models.CharField(max_length=11, null=True, unique=True)
    avatar = models.FileField(upload_to='avatars/', default="avatars/default.png")
    create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)

    blog = models.OneToOneField(to='Blog', to_field='nid', null=True, on_delete=models.CASCADE)

    def __str__(self):
        return self.username
    class Meta:
        verbose_name_plural='用户表'


class Blog(models.Model):
    """
    博客信息
    """
    nid = models.AutoField(primary_key=True)
    title = models.CharField(verbose_name='个人博客标题', max_length=64)
    site_name = models.CharField(verbose_name='站点名称', max_length=64)
    theme = models.CharField(verbose_name='博客主题', max_length=32)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural='博客信息表'


class Category(models.Model):
    """
    博主个人文章分类表
    """
    nid = models.AutoField(primary_key=True)
    title = models.CharField(verbose_name='分类标题', max_length=32)
    blog = models.ForeignKey(verbose_name='所属博客', to='Blog', to_field='nid', on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural='博主文章表'



class Tag(models.Model):
    nid = models.AutoField(primary_key=True)
    title = models.CharField(verbose_name='标签名称', max_length=32)
    blog = models.ForeignKey(verbose_name='所属博客', to='Blog', to_field='nid', on_delete=models.CASCADE)

    def __str__(self):
        return self.title
    class Meta:
        verbose_name_plural='标签表'



class Article(models.Model):
    nid = models.AutoField(primary_key=True)
    title = models.CharField(max_length=50, verbose_name&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值