用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
docker-compose up