質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

PyCharm

エディター・開発ツール

Q&A

解決済

2回答

1393閲覧

Djangoでrender_to_responseがインポートできないというエラーが出ます

Murasaki_PurPle

総合スコア37

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

PyCharm

エディター・開発ツール

0グッド

1クリップ

投稿2020/07/21 15:27

前提・実現したいこと

環境:pycharm
ライブラリ:Django2.2.2

Djangoで動的なWebサイトを作成しています。
その中で、マイグレーションを行うためにPycharmのRunメニューを編集しています。
いちいち、仮想環境で

(venv_private_diary)$python manage.py makemigration (venv_private_diary)$python manage.py migrate

を実行するのが不便だからです。
Runメニューを編集後、makemigrationを実行すると以下のようなエラーが出てきました。

Traceback (most recent call last): File "/Users/ilovephys/Desktop/venv_private_diary/bin/private_diary/manage.py", line 21, in <module> main() File "/Users/ilovephys/Desktop/venv_private_diary/bin/private_diary/manage.py", line 17, in main execute_from_command_line(sys.argv) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/management/base.py", line 328, in run_from_argv self.execute(*args, **cmd_options) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/management/base.py", line 366, in execute self.check() File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/management/base.py", line 395, in check include_deployment_checks=include_deployment_checks, File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/management/base.py", line 382, in _run_checks return checks.run_checks(**kwargs) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/checks/registry.py", line 72, in run_checks new_errors = check(app_configs=app_configs) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique all_namespaces = _load_all_namespaces(resolver) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces url_patterns = getattr(resolver, 'url_patterns', []) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/urls/resolvers.py", line 588, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/urls/resolvers.py", line 581, in urlconf_module return import_module(self.urlconf_name) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/Users/ilovephys/Desktop/venv_private_diary/bin/private_diary/private_diary/urls.py", line 22, in <module> path('accounts/', include("allauth.urls")), File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "/Users/ilovephys/.pyenv/versions/3.6.5/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/Users/ilovephys/.local/lib/python3.6/site-packages/allauth/urls.py", line 5, in <module> from allauth.django_utils.admin import * File "/Users/ilovephys/.local/lib/python3.6/site-packages/allauth/django_utils/admin.py", line 5, in <module> from django.shortcuts import render_to_response ImportError: cannot import name 'render_to_response'

長いエラー文の最後に

from django.shortcuts import render_to_response ImportError: cannot import name 'render_to_response'

と出てきます。しかし、render_to_responseがimportされているファイル「python3.6/site-packages/allauth/urls.py」は今まで触ったこともないファイルですので、エラーになる理由が全くわかりません。

試したこと

ひとまず、エラー文で出てきたファイルは一つひとつ辿り自分が編集した範囲でミスがないか確認を行いました。
その中には自分が編集しゅたことのあるファイルは一つも含まれていませんでした。

助けて下さい!!

お忙しい中恐縮ですが、皆様の知恵を借りれたらなと思っております。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

PyCharm で使われる Python インタープリターは PyCharm 内で設定したものが使われます
そのため、コマンドラインのインタープリターでは仮想環境内にパッケージがインストールされていて
問題なく動作するコードも、
PyCharm で実行すると、インタープリターや仮想環境が違ったりすることが原因で
パッケージが参照できず、正しく動作しない場合があります

PyCharm でインタープリターを設定する方法は次の Help を参照してください:
Configure a system interpreter - Help | PyCharm

投稿2020/07/21 15:44

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

いちいち、仮想環境で

PyCharmを使用するのであれば、PyCharmが提供するDjango環境の流儀を無視すると、棘の道ですよ。
そもそもPyCharmでプロジェクトを起動すれば、Terminalは仮想環境をactivateした状態になっているはずです。

何が不便だとお考えでしょうか?

投稿2020/07/23 13:55

hasami

総合スコア1277

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Murasaki_PurPle

2020/07/23 15:24

回答ありがとうございます。 まだPyCharmのことがよく分かっていないので、見当違いの質問返しになってしまっているかも知れないことをお許し下さい。 >PyCharmでプロジェクトを起動すれば、Terminalは仮想環境をactivateした状態になっているはずです。 「仮想環境をactiateした状態になっているので、マイグレーションはそもそも不要です。」 という意味でしょうか。 また、編集したいディレクトリに入るたびに毎回 source activateをterminalに入れているのですが、実はこの作業は不要だったりしますか?
hasami

2020/07/24 05:55

Python仮想環境のアクティベーションと、Djangoのマイグレーションは別物です。 仮想環境のアクティベーションは、当該仮想環境を有効にするものです。 また、Djangoのマイグレーションは、モデルに合わせてデータベースのスキーマを更新するものです。 よって、モデルを更新したとき、マイグレーションは必須です。 > また、編集したいディレクトリに入るたびに毎回 source activateをterminalに入れているのですが PyCharmでプロジェクトを作成するとき、PyCharmがユーザーに新しい仮想環境を作成するか、既存の仮想環境を使用するか確認します。PyCharmのTerminalを開けば、その仮想環境をアクティブにしたTerminalが起動します。 PyCharmのTerminalで`activate`しているということは、プロジェクトの仮想環境が設定されていない状態ではないでしょうか。 > 実はこの作業は不要だったりしますか? Terminalの状態を確認しないと仮想環境が有効になっているかわかりません。 プロンプトに仮想環境の名前が表示されているか、`pip freeze`したときに、仮想環境にインストールしたパッケージが表示されているのであれば、仮想環境が有効になっており不要です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問