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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

5466閲覧

Djangoでurls.pyでImportErrorがでる

pussy_pussy

総合スコア22

Django

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/29 07:14

前提・実現したいこと

Helloworldと表示させるプログラムをつくりたい

発生している問題・エラーメッセージ

projectのファイル内に移動して python manage.py runserver
を実行すると次のエラーがでる

Unhandled exception in thread started by <function wrapper at 0x7f14e9951d50> Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/django/utils/autoreload.py", line 228, in wrapper fn(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 124, in inner_run self.check(display_num_errors=True) File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 359, in check include_deployment_checks=include_deployment_checks, File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 346, in _run_checks return checks.run_checks(**kwargs) File "/usr/lib/python2.7/dist-packages/django/core/checks/registry.py", line 81, in run_checks new_errors = check(app_configs=app_configs) File "/usr/lib/python2.7/dist-packages/django/core/checks/urls.py", line 16, in check_url_config return check_resolver(resolver) File "/usr/lib/python2.7/dist-packages/django/core/checks/urls.py", line 26, in check_resolver return check_method() File "/usr/lib/python2.7/dist-packages/django/urls/resolvers.py", line 256, in check for pattern in self.url_patterns: File "/usr/lib/python2.7/dist-packages/django/utils/functional.py", line 35, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/usr/lib/python2.7/dist-packages/django/urls/resolvers.py", line 407, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/usr/lib/python2.7/dist-packages/django/utils/functional.py", line 35, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/usr/lib/python2.7/dist-packages/django/urls/resolvers.py", line 400, in urlconf_module return import_module(self.urlconf_name) File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/mnt/c/Users/user/Documents/Python Scripts/Django/helloworld/helloworldproject/helloworldproject/urls.py", line 18, in <module> from views import helloworldfunction ImportError: cannot import name helloworldfunction

ソースコード

1.urls.py """helloworldproject URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.11/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from django.contrib import admin from views import helloworldfunction urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^helloworld/', helloworldfunction) ] ############## 2.viwes.py from django.http import HttpResponse def helloworldfunction(request): returnobject = HttpResponse("hello world") return returnobject

試したこと

スペルミスがないかどうか確認をした

補足情報(FW/ツールのバージョンなど)

VSCodeで実行している

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

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

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

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

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

guest

回答2

0

自己解決

修正したファイルを保存せずに実行していたのでエラーがでていました。
保存して再度実行したら、成功しました

投稿2020/07/29 08:46

pussy_pussy

総合スコア22

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

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

0

それは、プロジェクト下のurls.pyでviewsを呼んでるからです。
例えばappというアプリを作っているとすると、

└─helloworldproject │ db.sqlite3 │ manage.py │ ├─helloworldproject │ │ asgi.py │ │ settings.py │ │ urls.py │ │ wsgi.py │ └─app │ admin.py │ apps.py │ models.py │ tests.py │ urls.py # ←―ここにも作る │ views.py ```そして、helloworldproject/helloworldproject/urls.pyを ```Python from django.urls import include # 新規 from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^helloworld/', include("app/urls")) # 新規 ] ```として、新しく作ったhelloworldproject/app/urls.pyを ```Python from django.urls import path from views import helloworldfunction urlpatterns = [ path('', helloworldfunction), ] ```とします。

投稿2020/07/29 08:25

編集2020/07/29 08:35
ForestSeo

総合スコア2722

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問