実現したいこと
Djangoでマークダウンエディターの実装するために、django-mdeditorモジュールをインストールし、models.pyでimportを行いました。
models.py
1from django.db import models 2from accounts.models import CustomUser 3from mdeditor.fields import MDTextField 4 5class Article(models.Model): 6 """略""" 7 post_user = models.ForeignKey(CustomUser, verbose_name='Post User', on_delete=models.CASCADE,) 8 content = models.MDTextField(verbose_name='content passage',)
発生している問題・エラーメッセージ
マイグレーションの実行してみると下記のエラーメッセージが表示され、どうやらmodels.py3行目の"from mdeditor.fields import MDTextField"がうまく読み込まれていないようだと理解しました。
Traceback (most recent call last): File "manage.py", line 21, in <module> main() File "manage.py", line 17, in main execute_from_command_line(sys.argv) File "/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute django.setup() File "/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages/django/apps/registry.py", line 114, in populate app_config.import_models() File "/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages/django/apps/config.py", line 211, in import_models self.models_module = import_module(models_module_name) File "/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/Users/xxx/Desktop/prototyping/article/models.py", line 7, in <module> class Article(models.Model): File "/Users/xxx/Desktop/prototyping/article/models.py", line 19, in Article content = models.MDTextField(verbose_name='content passage',) AttributeError: module 'django.db.models' has no attribute 'MDTextField'
試したこと
ターミナルでもう一度$ pip install django-mdeditorを実行すると、
"/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages (0.1.20)"に既にあると言われてしまいました。
Requirement already satisfied: django-mdeditor in /Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages (0.1.20)
もしかしたらimport文が探しに行っている場所に上記ディレクトリが無いのかもしれないと思いと思い、pythonインタラクティブシェルで下記を実行してみると、どうやらそういう訳では無いようです
>>> import sys, pprint >>> pprint.pprint(sys.path) ['', '/Users/xxx/anaconda3/envs/venv_prototyping/lib/python37.zip', '/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7', '/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/lib-dynload', '/Users/xxx/anaconda3/envs/venv_prototyping/lib/python3.7/site-packages']
補足情報(FW/ツールのバージョンなど)
開発環境はMacOS、Django3系、Python3.7.6 、Anaconda、Visual Studio Codeを利用しています
参考元
・GitHub
https://github.com/pylixm/django-mdeditor
・【Django】Markdownエディタを実装する方法【簡単】
https://yuki.world/django-markdown-implement/
回答1件
あなたの回答
tips
プレビュー