前提・実現したいこと
ブログアプリ作成練習時にエラーになりました
タイトル、本文、カテゴリを入れて記事を追加しようとsaveしたタイミングでエラー画面になります。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
#エディタはvscodeです、 #views.pyファイルにて問題が出ていますが原因がわかりません。 views.py blogpost No name'BlogModel' in module 'blogpost.models' pylint(no-name-in-module) [5,1]
該当のソースコード
blogpostアプリ名 blogprojectプロジェクト名 #views.pyファイル(アプリ側、blogpost) from django.shortcuts import render from django.views.generic import ListView from .models import BlogModel #こちらにエラー赤線 class BlogList(ListView): template_name = 'list.html' model = BlogModel #urls.pyファイル(アプリ側、blogpost) from django.contrib import admin from django.urls import path from .views import BlogList urlpatterns = [ path('admin/', admin.site.urls), path('list/', BlogList.as_view()), ] #models.pyのファイルです。(アプリ側、blogpost) from django.db import models class SampleModel(models.Model): title = models.CharField(max_length=100) number = models.IntegerField() CATEGORY = (('business','ビジネス'),('life','生活'),('other','その他')) class BlogModel(models.Model): title = models.CharField(max_length=100) content = models.TextField() postdate = models.DateField(auto_now_add=True) category = models.CharField( max_length = 50, choices = CATEGORY )
試したこと
viewsファイルの3番目[5行目]のfromに赤線が出ていますが原因がわかりません。
runserverには入っています。
テキスト通り進めたつもりで、見直したりしたのですが、どこか抜けてますでしょうか?
補足情報(FW/ツールのバージョンなど)
views.py blogpost
No name'BlogModel' in module 'blogpost.models' pylint(no-name-in-module) [5,1]
投稿するためフォームやページは、viewやurls、modelのそれぞれに追加していますか?
#models.pyのファイルです。
from django.db import models
class SampleModel(models.Model):
title = models.CharField(max_length=100)
number = models.IntegerField()
CATEGORY = (('business','ビジネス'),('life','生活'),('other','その他'))
class BlogModel(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
postdate = models.DateField(auto_now_add=True)
category = models.CharField(
max_length = 50,
choices = CATEGORY
)
それぞれのファイルにBlogModelが入ってると思います。
質問を再編集して、上記models.pyを追記していただけますか?
また、プロジェクトおよびアプリケーションのフォルダ構成と、ファイルの配置も分かると良いです。
(質問に記載のurls.pyはプロジェクト側?アプリ側?どちらでしょうか。)
エラーが出ているviewsと、urlsはアプリ側になります。
プロジェクト側に、アプリ側同様bloglistをインポートしようとすると別のエラーになります、
- プロジェクト側(blogproject)のurls.py:
```
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blogpost.urls')),
]
```
- アプリ側(blogpost)のurls.py:
```
urlpatterns = [
path('', Index.as_view(), name="index"),
path('list/', BlogList.as_view(), name="list"),
path('detail/<int:pk>/', BlogDetail.as_view(), name="detail"), # datail.html と想定
]
```
- views.py:
```
from django.shortcuts import render
from django.views.generic import ListView
from blogpost.models import BlogModel #こちらにエラー赤線
class BlogList(ListView):
template_name = 'list.html'
model = BlogModel
class BlogDetail(DetailView):
template_name = 'detail.html'
model = BlogModel
```
で、いかがでしょうか。
ブログ自体の書き込みは、adminから行なうのですよね?
回答1件
あなたの回答
tips
プレビュー