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

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

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

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

Q&A

1回答

874閲覧

SyntaxError: keyword can't be an expressionのエラー

shirasu10fish

総合スコア35

Django

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

0グッド

0クリップ

投稿2018/04/04 22:46

前提・実現したいこと

Djangoを用いてWEBサイトを制作しています。
下記のようなコードを作成したところ、エラーが発生しました。
どこを修正すればよいかご教授ください。

エラーメッセージ

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f4fb6b316a8> Traceback (most recent call last): File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/utils/autoreload.py", line 225, in wrapper fn(*args, **kwargs) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 120, in inner_run self.check(display_num_errors=True) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/core/management/base.py", line 364, in check include_deployment_checks=include_deployment_checks, File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/core/management/base.py", line 351, in _run_checks return checks.run_checks(**kwargs) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/core/checks/registry.py", line 73, in run_checks new_errors = check(app_configs=app_configs) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/core/checks/urls.py", line 13, in check_url_config return check_resolver(resolver) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/core/checks/urls.py", line 23, in check_resolver return check_method() File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/urls/resolvers.py", line 397, in check for pattern in self.url_patterns: File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/utils/functional.py", line 36, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/urls/resolvers.py", line 536, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/utils/functional.py", line 36, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/kei/.virtualenvs/nextone/lib/python3.5/site-packages/django/urls/resolvers.py", line 529, in urlconf_module return import_module(self.urlconf_name) File "/home/kei/.virtualenvs/nextone/lib/python3.5/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 665, in exec_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed File "/opt/webapps/nextone/nextone/urls.py", line 12, in <module> import users.views File "/opt/webapps/nextone/users/views.py", line 18 question_D = question.objects.filter(Profile_A.user=request.user) ^ SyntaxError: keyword can't be an expression

views.pyの内容

python

1from django.shortcuts import render, redirect 2from .forms import ProfileForm, UserCreateForm 3 4from django.contrib.auth.models import User 5from django.contrib.auth.decorators import login_required 6 7 8from .models import Profile_A 9from qa.models import question 10 11 12@login_required 13def mypage(request): 14 Profile_A_D = Profile_A.objects.get(user=request.user) 15 question_D = question.objects.filter(Profile_A.user=request.user) 16 17 return render(request, 'users/mypage.html', {"Profile_A_D":Profile_A_D})

###users.models.py

python

1 2from django.contrib.auth.models import User 3from django.db import models 4 5from django.conf import settings 6 7class Profile_A(models.Model): 8 name = models.CharField('ハンドルネーム', max_length=255) 9 birthday = models.DateField('生年月日') 10 mysite = models.URLField('URLなど')#,required=False) 11 12 user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE) 13 14 def __str__(self): 15 return self.name

###qa.models.py

python

1class question(models.Model): 2 urltype_choice = ( 3 ('hoge1','hogehoge1'), 4 ('hoge2', 'hogehoge2') 5 ) 6 7 title = models.CharField('タイトル', max_length=100) 8 pageurl = models.CharField('URL', max_length=100) 9 urltype = models.CharField('タイプ', choices = urltype_choice, max_length=100) 10 text = models.TextField('本文') 11 user = models.ForeignKey(Profile_A, "on_delete") 12 13 published_date = models.DateTimeField( 14 blank=True, null=True) 15 16 def publish(self): 17 self.published_date = timezone.now() 18 self.save() 19 20 def __str__(self): 21 return self.title

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

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

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

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

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

guest

回答1

0

端折った解答をしますと、 views.py の以下行だけでは、データが何も入っていないのではないかと思いました。

python

1question_D = question.objects.filter(Profile_A.user=request.user)

ですので、試しに動かす文には、 question_D に以下のような具合でデータを入れてはいかがでしょう。(「インスタンスを作る」工程が抜けているとも言えます)

python

1question_D = question(title="テストです", pageurl="http://example.com", urltype=urltype_choice.nanika,text="ローレンイプサム", user=jonhdoe) 2question_D = question.objects.filter(Profile_A.user=request.user)

ちなみに、私はDjango詳しくないので、参考程度にとどめていただければと思います。

参考資料

投稿2018/04/05 00:08

manzyun

総合スコア2244

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問