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

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

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

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

Python

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

Q&A

解決済

1回答

661閲覧

python djangoチュートリアルのviews.pyがVScodeで保存出来ません。

fuji3131

総合スコア15

Django

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

Python

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

0グッド

0クリップ

投稿2019/05/11 12:21

Djangoのファイルが保存できません

Djangoチュートリアルのはじめての Django アプリ作成、その 3
の部分のview.pyに関してです。
以下のように書いたのですが、VScodeでは保存できませんでした。どうすれば保存し実行できるかがわからないです。

error

1Class 'Question' has no 'objects' member

該当のソースコード

views

1from django.shortcuts import render 2 3# Create your views here. 4from django.http import HttpResponse 5from .models import Question 6 7def index(request): 8 latest_question_list = Question.objects.order_by('-pub_date')[:5] 9 output = ', '.join([q.question_text for q in latest_question_list]) 10 return HttpResponse(output) 11 12 13def detail(request,question_id): 14 return HttpResponse("You're looking at question %s." % question_id) 15 16def results(request,question_id): 17 response = "You're looking at question %s." 18 return HttpResponse(response % question_id) 19 20def vote(request, question_id): 21 return HttpResponse("You're voting on question %s." % question_id) 22

以下はQuestionクラスを定義しているmodelsのコードです。

models

1import datetime 2 3from django.db import models 4from django.utils import timezone 5 6# Create your models here. 7 8class Question(models.Model): 9 question_text = models.CharField(max_length=200) 10 pub_date = models.DateTimeField('date published') 11 def __str__(self): 12 return self.question_text 13 def was_published_recently(self): 14 return self.pub_date >= timezone.now() - datetime.timedelta(days = 1) 15 16class Choice(models.Model): 17 question = models.ForeignKey(Question, on_delete = models.CASCADE) 18 choice_text = models.CharField(max_length=200) 19 votes = models.IntegerField(default=0) 20 def __str__(self): 21 return self.choice_text

試したこと

Questionの部分がobjectsがないと表示されているのですが、他のサイトを見てもそのようなことはほとんどなく、DjangoでPylintを使うと検出される Class 'Polls' has no 'objects' menber に対してのアプローチ集を参考にしてもうまくいきませんでした。

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

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

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

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

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

mistn

2019/05/11 13:08

構文エラーでファイルを保存できないということはないと思います。 保存しようとしたときにVSCode自体のエラーが何か出たりしませんか?
fuji3131

2019/05/11 13:31

失礼ですがVScode自体のエラーとはどこを確認すればよいのでしょうか。 探した限りでは上記のようにQuestionの部分の下に波線が引かれていること以外にエラーは見つけられませんでした。
mistn

2019/05/11 13:46

エラーは右下にポップアップで出ます。 https://gyazo.com/c60e16cfd68751362ec81f745bf02035 例えばファイルを編集する権限がない場合は画像のようなエラーが出ます。 また、ファイルを保存していない場合はファイル名の横に白丸がついています。白丸はついていますか?
fuji3131

2019/05/11 22:04

保存を試みてもエラーは表示されませんでした。ファイルには白丸がついているので、保存はされていないみたいです。
mistn

2019/05/12 00:57 編集

https://social.msdn.microsoft.com/Forums/ja-JP/b695de05-b711-46aa-94f0-22811850c290/visual-studio-code?forum=vsgeneralja https://github.com/microsoft/vscode/issues/59431 fuji3131さんと同じ問題かはわかりませんが似たような問題はいくつかありそうです。ただ2つとも解決には至っていませんでした。 2つの共通点としてネットワーク越しのファイル編集だったようです。fuji3131さんはどのような環境でファイルを編集しているのでしょうか? あと、エラーの波線が出ている箇所をコメントアウトなどで消せば保存はできるのでしょうか?
fuji3131

2019/05/12 06:27 編集

自己解決しました。 上記の参考サイトの最初の方法をもう一度試してみると、保存でき、きちんと作動しました。 編集に関しては、git上の編集だと思います。runserverを実行したまま編集すると直接サイトに反映されるので。 Question.objectの行にコメントアウトを行うと今度はその下のlatest_question_listの部分の下に波線が出てきて結局保存は出来ませんでした。 VScodeに導入されているPylint自体のエラーらしく、django用のモジュールを追加するか、エラーを無視するように指示すればいいみたいです。 コメントしてくださってありがとうございます。
mistn

2019/05/12 07:13

解決できたようでなによりです。力になれず申し訳ありませんでした。
guest

回答1

0

自己解決

VScodeのPylint(編集ソフト)がエラーを示していて保存ができないようでした。そのため、django対応のモジュールをインストールすることで解決できました(詳細は質問の参考サイト)。保存することができればすぐに実行できたため、VScodeにエラーを無視するように指示しても可能かもしれません。

投稿2019/05/12 06:32

fuji3131

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問