親ディレクトリがあり、その中にパッケージが存在し、
urls.py
とviews.py
が入っている状態にしていますか?
していないのであれば、
from .views import hello_func
で
明示的な相対インポートをしようとしてエラーが出ているので
from views import hello_func
と
絶対インポートに変えてみてエラーが解消されないでしょうか。
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')
親ディレクトリがあり、その中にパッケージが存在し、
urls.py
とviews.py
が入っている状態にしていますか?
していないのであれば、
from .views import hello_func
で
明示的な相対インポートをしようとしてエラーが出ているので
from views import hello_func
と
絶対インポートに変えてみてエラーが解消されないでしょうか。
@teppei0710
Questioner解答いただきありがとうございます。
絶対インポートに変更した結果エラーはなくなったのですが、実行した結果pythonとたけ出力されて処理が終了してしまいました。
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のプロジェクトとアプリの関係の概念ですので時間があれば一読ください。