富文本编辑器配置上传图片 发表博客

文件上传表单格式(views.py)

富文本编辑器配置上传图片 发表博客

表单样式 HTML

富文本编辑器配置上传图片 发表博客

富文本文件上传(views.py)

富文本编辑器配置上传图片 发表博客

HTML里面代码来自ueditor文件,找寻需要的一些js文件

富文本编辑器配置上传图片 发表博客

跳转页面中的样式清除:然后在url.py里配置路径

富文本编辑器配置上传图片 发表博客

富文本中文件上传需要配置相应的配置:

现在ueditor文件里找到config.json这个文件,复制存放到static里下层位置。

富文本编辑器配置上传图片 发表博客

在将uecontroller.py这个Python文件存放至blog这个APP的目录里:

富文本编辑器配置上传图片 发表博客

因为这两个文件里的一些配置并不适配这个项目,所以我们上传后需要在里面将一些参数进行更改:

首先在uecontroller.py第六行里找到该路径将存放config.json文件的路径更改正确:

富文本编辑器配置上传图片 发表博客

然后在同文件的20行将其对应的项目名称进行修正:

富文本编辑器配置上传图片 发表博客

[1:]这个是截取路径的方法,修改里面

富文本编辑器配置上传图片 发表博客

到了最底层的

handler这个方法时,需要在urls.py里进行路径配置,才可以使用这个方法:

需要导入:

from .import uecontroller

然后config.json这个文件里只需要将图片访问路径修改正确就可以了。






发表博客:
思路:再建一个APP,注册,登录是一个,创建发表是一个,有标题,内容,还有用户名(通过创建外键,)

class Blog(models.Model):
    title=models.CharField(max_length=50,null=False,unique=True)
    content=models.CharField(max_length=500,null=False)
    bloguser=models.ForeignKey('BlogUser',on_delete=None)#创建外键,如果级联删除,on_delete=models.CASCADE,删除此项连同主表一起删
    createtime=models.DateTimeField(default=datetime.now())#默认值
    class Meta:
        db_table='blog'

创建app,在命令窗口输入startAPP +名字  ;


创建项目要分模块:页面、APP

页面如果配置好了路径,按住Ctrl+单词   就能调到对应方法


把内容里的图片和文字都存到内容


!!!!!使用断点调试:点出红圆,点击运行旁边,返回页面运行,出现错误的地方时候朋友pycharm会
闪,点击向下箭头,一步一步执行,看哪里出现问题。

思路:
配置大urls:

path('blogmanager/',include('blogmanager.urls',namespace='manager'))

写后台:

from django.shortcuts import render,redirect,reverse
from .models import Blog#从当前models导入
from blog2.models import BlogUser
from datetime import datetime
# Create your views here.
def addblog(request):
    if request.session.get('username') is None:
        return render(request, 'login.html')
    else:
        if request.method=='GET':
            return render(request,'manager/add.html')
        else:
            #接收标题、内容
            title=request.POST.get('title')
            content=request.POST.get('content')
            print(content)
            blog=Blog()
            blog.title=title
            blog.content=content
            #从session中获取用户名
            username=request.session.get('username')#根据session的用户名,查找id,根据id从而找到对象
            blog.bloguser=BlogUser.objects.filter(userName=username).first()#类属性  filter 返回的是queryset集合,所以必须加first变成对象
            blog.createtime=datetime.now()
            blog.save()
            print('保存成功')
            return redirect(reverse('manager:show'))
def show(request):
    #从数据库查询所有博客纪录
    bloglist=Blog.objects.all().order_by('-createtime')#倒叙加负号
    return render(request,'manager/show.html',{'bloglist':bloglist})
def detail(request,id):
    blog=Blog.objects.get(pk=id)
    return render(request,'manager/detail.html',{'blog':blog})

配置urls:

from django.contrib import admin
from django.urls import path
from . import views
app_name='manager'
urlpatterns = [
    path('addblog',views.addblog),
    path('show',views.show,name='show'),
    path('detail/<int:id>',views.detail)
]