前提・実現したいこと
python django超入門の本のエラーについて質問させてください
本の通りに入力したのに、下記のエラーが発生してしまいました
解決の方法を教えて頂けませんでしょうか?
該当コード
python
1# views.py 2 3@login_required(login_url='/admin/login/') 4def post(request): 5 if request.method == 'POST': 6 gr_name = request.POST['groups'] 7 content = request.POST['content'] 8 group = Group.objects.filter(owner=request.user) \ 9 .filter(title=gr_name).first() 10 if group == None: 11 (pub_user, group) = get_public() 12 msg = Message() 13 msg.owner = request.user 14 msg.group = group 15 msg.content = content 16 msg.save() 17 18 messages.success(request, '新しいメッセージを投稿しました!') 19 return redirect(to='/sns') 20 21 else: 22 form = PostForm(request.user) 23 24 params = { 25 'login_user':request.user, 26 'form':form, 27 } 28 return render(request, 'sns/post.html', params) 29
python
1# layout.py 2 3{% load static %} 4<!doctype html> 5<html lang="ja"> 6<head> 7 <meta charset="utf-8"> 8 <title>{% block title %}{% endblock %}</title> 9 <link rel="stylesheet" type="text/css" 10 href="{% static 'sns/style.css' %}" /> 11</head> 12<body> 13 <div class="body_content"> 14 <div class="body_content_inner"> 15 <table class="login_table" width="100%"> 16 <tr><th width="150px">menu</th><td> 17 <table class="login_table_inner"> 18 <tr> 19 <td><a href="{% url 'index' %}">top</a></td> 20 <td><a href="{% url 'post' %}">post</a></td> 21 <td><a href="{% url 'groups' %}">group</a></td> 22 </tr> 23 </table> 24 </td></tr> 25 <tr><th width="150px">login user:</th><td>"{{login_user}}"</td></tr> 26 </table> 27 <div class="header">{% block header %}{% endblock %}</div> 28 <div class="content">{% block content %}{% endblock %}</div> 29 <div class="footer"> 30 <hr> 31 <div> 32 <span style="float:left;font-weight:bold;"><a href="/admin/logout?next=/sns/">[ logout ]</a></span> 33 <span style="float:right">copyright 2018 SYODA-Tuyano.</span> 34 </div> 35 </div> 36 </div> 37 </div> 38</body> 39</html> 40
発生している問題・エラーメッセージ
error message ValueError at /sns/post not enough values to unpack (expected 2, got 1) Traceback Environment: Request Method: GET Request URL: http://localhost:8000/sns/post Django Version: 2.2.5 Python Version: 3.7.5 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'hello', 'sns'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Template error: In template C:\Users\ayako\Desktop\django_app\sns\template\sns\layout.html, error at line 18 not enough values to unpack (expected 2, got 1) 8 : <link rel="stylesheet" type="text/css" href="{% static 'sns/style.css' %}" /> 9 : </head> 10 : 11 : <body> 12 : <div class="body_content"> 13 : <div class="body_content_inner"> 14 : <table class="login_table" width="100%"> 15 : <tr> 16 : <th width="150px">menu</th> 17 : <td> 18 : <table class="lo gin_table_inner"> 19 : <tr> 20 : <td><a href="{% url 'index' %}">top</a></td> 21 : <td><a href="{% url 'post' %}">post</a></td> 22 : <td><a href="{% url 'groups' %}">group</a></td> 23 : </tr> 24 : </table> 25 : </td> 26 : </tr> 27 : <tr> 28 : <th width="150px">login user:</th> Traceback: File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\core\handlers\exception.py" in inner 34. response = get_response(request) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\core\handlers\base.py" in _get_response 115. response = self.process_exception_by_middleware(e, request) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\core\handlers\base.py" in _get_response 113. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\contrib\auth\decorators.py" in _wrapped_view 21. return view_func(request, *args, **kwargs) File "C:\Users\ayako\Desktop\django_app\sns\views.py" in post 170. return render(request, 'sns/post.html', params) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\shortcuts.py" in render 36. content = loader.render_to_string(template_name, context, request, using=using) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\loader.py" in render_to_string 62. return template.render(context, request) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\backends\django.py" in render 61. return self.template.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render 171. return self._render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in _render 163. return self.nodelist.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\loader_tags.py" in render 150. return compiled_parent._render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in _render 163. return self.nodelist.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\loader_tags.py" in render 62. result = block.nodelist.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render 937. bit = node.render_annotated(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render_annotated 904. return self.render(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in render 987. output = self.filter_expression.resolve(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in resolve 671. obj = self.var.resolve(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in resolve 796. value = self._resolve_lookup(context) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\template\base.py" in _resolve_lookup 858. current = current() File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\forms.py" in as_table 284. errors_on_separate_row=False, File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\forms.py" in _html_output 243. 'field_name': bf.html_name, File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\utils\html.py" in <lambda> 388. klass.__str__ = lambda self: mark_safe(klass_str(self)) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\boundfield.py" in __str__ 33. return self.as_widget() File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\boundfield.py" in as_widget 86. attrs = self.build_widget_attrs(attrs, widget) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\boundfield.py" in build_widget_attrs 221. if widget.use_required_attribute(self.initial) and self.field.required and self.form.use_required_attribute: File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\widgets.py" in use_required_attribute 702. return use_required_attribute and first_choice is not None and self._choice_has_empty_value(first_choice) File "C:\Users\ayako\Anaconda3\envs\myspace\lib\site-packages\django\forms\widgets.py" in _choice_has_empty_value 688. value, _ = choice Exception Type: ValueError at /sns/post Exception Value: not enough values to unpack (expected 2, got 1)

回答1件
あなたの回答
tips
プレビュー