LoginSignup
teppei0710
@teppei0710

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

DjangoのHelloWorld出力について

解決したいこと

QiitaのDjangoの記事をコピペしてHello Worldを出力しようとしたのですが、エラーが出てしまい解決できないのでエラーの解決法やなどを教えていただきたいです。
よろしくお願いします。

実行環境

windows11
vscode
python3.11.5
※anacondaと仮想環境は使用していません

発生している問題・エラー

 from .views import hello_func
ImportError: attempted relative import with no known parent package

記述したソースコード

urls.py

from django.contrib import admin
from django.urls import path
from .views import hello_func

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/, hello_func'),
]
views.py

from django.http import HttpResponse

def hello_func(request):
    return HttpResponse('Hello World')
0

2Answer

親ディレクトリがあり、その中にパッケージが存在し、
urls.pyviews.pyが入っている状態にしていますか?

していないのであれば、
from .views import hello_func
明示的な相対インポートをしようとしてエラーが出ているので
from views import hello_func
絶対インポートに変えてみてエラーが解消されないでしょうか。

0Like

Comments

  1. @teppei0710

    Questioner

    解答いただきありがとうございます。
    絶対インポートに変更した結果エラーはなくなったのですが、実行した結果pythonとたけ出力されて処理が終了してしまいました。

  2. QiitaのDjangoの記事をコピペして

    実行した結果pythonとたけ出力されて処理が終了

    どの記事を参照しているかよく分かりませんが、
    templateが出力されているだけではないですか?

django-admin startproject helloworldproject   .  ドット要

解説ではhelloworldprojectをプロジェクト名にしてますが、config を推奨します。

python manage.py startapp helloworldapp

アプリ名はhelloworldappとなっていますが、appでもお好みで。

サンプルはレンダリングになっています。views.pyは自作した内容でokです。

以下はapps.pyとsettings.pyの記述に関する説明で、難しいですが、djangoのプロジェクトとアプリの関係の概念ですので時間があれば一読ください。

0Like

Your answer might help someone💌