用Docker + Django实现Markdown编辑器

实操细节

用Docker在Python的框架Django上实现Markdown编辑器。

参考文献

 

救助过我的人

非常感谢!!!!

前提条件 (Qian ti tiao jian)

已安装 Docker
可以使用 docker-compose 命令

请具备理解这个视频水平的人。

设备开发

苹果笔记本Air M2芯片(macOS Ventura 13.4版)

代码

我已经将源代码上传至GitHub,请参考以下链接:
https://github.com/kazunobu2022/django-markdown

创建Dockerfile

为什么在执行docker-compose build –no-cache时,如果没有写上# FROM –platform=linux/amd64 python:3.9,就会出现ERROR [5/6] RUN pip install -r requirements.txt的错误。我不知道为什么会出现这个错误(哭),如果有人知道,请告诉我。

# FROM --platform=linux/amd64 python:3.9
FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR /code

RUN pip install --upgrade pip

# 依存パッケージをrequirements.txtに記述
ADD requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

执行指令

docker compose run --rm web bash
python3 manage.py startapp markdown

将安装包写入requirements.txt文件

Django
# Markdownエディタ本体パッケージ
django-mdeditor

在settings.py中添加以下内容。

我不会阅读英文,所以我将其改为日语。

import os

INSTALLED_APPS = [
    'mdeditor', # 追加
    'markdown', #  追加
]

# これはDjangoバージョン3.0以上の場合のみ記載すること
X_FRAME_OPTIONS = 'SAMEORIGIN'

# ファイルアップロード用
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/media/'

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'ja'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Tokyo'

在config的urls.py文件中添加以下内容

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path("mdeditor", include('mdeditor.urls')),
]

在models.py文件中添加以下内容

from django.db import models
from mdeditor.fields import MDTextField # 追加

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = MDTextField() 

执行命令 (zhí lì)

docker compose run --rm web bash
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py createsuperuser
スクリーンショット 2023-06-17 7.28.22.png
docker-compose up

确认动作

スクリーンショット 2023-06-17 7.46.37.png
スクリーンショット 2023-06-17 7.47.46.png
スクリーンショット 2023-06-17 7.49.38.png
广告
将在 10 秒后关闭
bannerAds