博客-富文本编辑器
在这一节使用的是kindeditor富文本编辑器, 下载地址 官方文档, 官网只更新到了4.1.11, github更新到了4.1.12, 往下直接就是代码示例
1、settings.py
使用自己定义的用户模块
AUTH_USER_MODEL = "app01.UserInfo"
# 静态文件目录, 可以放js css image之类的文件
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
# 用户上传的都叫media文件
MEDIA_URL = "/media/"
# media配置,用户上传的文件都默认放在这个文件夹下
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
2、urls.py
from django.urls import path, re_path, include
urlpatterns = [
path("blog/", include("app01.urls"), name="blog"),
]
3、创建应用
python manage startapp blog
settings.py文件中注册应用
INSTALLED_APPS = [
# 最后新增这一行
'app01.apps.App01Config',
]
blog应用中创建urls.py文件
from django.urls import path, re_path, include
from app01 import views
app_name = "blog"
urlpatterns = [
# 添加文件
re_path("add_article/", views.add_article, name="add_article"),
# 上传图片函数
re_path("comment_article/", views.comment_article, name="comment_article"),
]
4、表结构
来源老男孩的课程
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)
portrait = models.FileField(upload_to="images/", default="", verbose_name="头像")
create_time = models.DateTimeField(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 = "用户"
verbose_name_plural = verbose_name
class Blog(models.Model):
"""
博客信息
"""
nid = models.AutoField(primary_key=True)
title = models.CharField(max_length=64) # 个人博客标题
site = models.CharField(max_length=32, unique=True) # 个人博客后缀
theme = models.CharField(max_l