Closed5
Djangoのチュートリアルでうまくいかなかったところ
'DIRS': [BASE_DIR / 'templates'],
TypeError: unsupported operand type(s) for /: 'str' and 'str'
と言われるので
'DIRS': [BASE_DIR + '/' + 'templates'],
とした
一部のテストが通らない
- ['<Question: Past question.>']
- [<Question: Past question.>]
の違いといわれる。
似たようなものもエラーとなる。
[]でくくられているからリストなのだろうか?
'’で囲われているから文字列として扱われているのか?
$ python manage.py test polls
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
...F.FF...
======================================================================
FAIL: test_future_question_and_past_question (polls.tests.QuestionIndexViewTests)
Even if both past and future questions exist, only past questions
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/ec2-user/environment/mysite/polls/tests.py", line 89, in test_future_question_and_past_question
[question],
File "/usr/local/lib/python3.7/site-packages/django/test/testcases.py", line 940, in assertQuerysetEqual
return self.assertEqual(list(items), values, msg=msg)
AssertionError: Lists differ: ['<Question: Past question.>'] != [<Question: Past question.>]
First differing element 0:
'<Question: Past question.>'
<Question: Past question.>
- ['<Question: Past question.>']
? - -
+ [<Question: Past question.>]
======================================================================
FAIL: test_past_question (polls.tests.QuestionIndexViewTests)
Questions with a pub_date in the past are displayed on the
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/ec2-user/environment/mysite/polls/tests.py", line 66, in test_past_question
[question],
File "/usr/local/lib/python3.7/site-packages/django/test/testcases.py", line 940, in assertQuerysetEqual
return self.assertEqual(list(items), values, msg=msg)
AssertionError: Lists differ: ['<Question: Past question.>'] != [<Question: Past question.>]
First differing element 0:
'<Question: Past question.>'
<Question: Past question.>
- ['<Question: Past question.>']
? - -
+ [<Question: Past question.>]
======================================================================
FAIL: test_two_past_questions (polls.tests.QuestionIndexViewTests)
The questions index page may display multiple questions.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/ec2-user/environment/mysite/polls/tests.py", line 101, in test_two_past_questions
[question2, question1],
File "/usr/local/lib/python3.7/site-packages/django/test/testcases.py", line 940, in assertQuerysetEqual
return self.assertEqual(list(items), values, msg=msg)
AssertionError: Lists differ: ['<Question: Past question 2.>', '<Question: Past question 1.>'] != [<Question: Past question 2.>, <Question: Past question 1.>]
First differing element 0:
'<Question: Past question 2.>'
<Question: Past question 2.>
- ['<Question: Past question 2.>', '<Question: Past question 1.>']
? - - - -
+ [<Question: Past question 2.>, <Question: Past question 1.>]
----------------------------------------------------------------------
Ran 10 tests in 0.049s
FAILED (failures=3)
Destroying test database for alias 'default'...
print("question",type(question))
print("context",type(response.context['latest_question_list']))
としてみると
question <class 'polls.models.Question'>
context <class 'django.db.models.query.QuerySet'>
class Question(models.Model):
# ...
@admin.display(
boolean=True,
ordering='pub_date',
description='Published recently?',
)
の部分は displayのメソッド
python 3.x - In django i got AttributeError: module 'django.contrib.admin' has no attribute 'display' - Stack Overflow
python -m django --version
2.0.2
djangoのバージョンを3.2にあげたらエラーは出なくなった。
sqlite3はバージョンを上げる必要があった。パッケージではインストールできなかったので、ソースからmakeした。
このスクラップは2021/10/18にクローズされました