1
article.urls.py:Django/Python例外値:辞書更新シーケンス要素#0の長さは4です。 2が必要とされる
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^tag/(?P<tag>\w+)/$',views.search_tag,name='search_tag'),
]
article.views.py:
from django.shortcuts import render
from django.http import HttpResponse
from article.models import Article
def search_tag(request,tag):
try:
post_list = Article.objects.all()
except Article.DoesNotExist:
raise Http404
return render(request,'tag.html',{'post_list',post_list})
tag.html:
{% extends "base.html" %}
{% load custom_markdown %}
{% block content %}
<div class="posts">
{% for post in post_list %}
<section class="post">
<header class="post-header">
<h2 class="post-title"><a href="{% url "detail" id=post.id %}">{{ post.title }}</a></h2>
<p class="post-meta">
Time: <a class="post-author" href="#">{{ post.date_time |date:"Y M d"}}</a> <a class="post-category post-category-js" href="{% url "search_tag" tag=post.category %}">{{ post.category|title }}</a>
</p>
</header>
<div class="post-description">
<p>
{{ post.content|custom_markdown }}
</p>
</div>
<a class="pure-button" href="{% url "detail" id=post.id %}">Read More >>> </a>
</section>
{% endfor %}
</div><!-- /.blog-post -->
{% endblock %}
私はこのようなエラーを得たのはなぜ? url
で
ValueError at /tag/Python/
dictionary update sequence element #0 has length 4; 2 is required
Request Method: GET
Request URL: http://localhost:9000/tag/Python/
Django Version: 1.10.3
Exception Type: ValueError
Exception Value:
dictionary update sequence element #0 has length 4; 2 is required
Exception Location: /usr/local/lib/python3.5/dist-packages/django/template/context.py in __init__, line 18
Python Executable: /usr/bin/python3
Python Version: 3.5.2
Python Path:
['/home/weixiang/workspace/WebPy/my_blog',
'/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-x86_64-linux-gnu',
'/usr/lib/python3.5/lib-dynload',
'/home/weixiang/.local/lib/python3.5/site-packages',
'/usr/local/lib/python3.5/dist-packages',
'/usr/lib/python3/dist-packages']
Server time: Mon, 21 Nov 2016 07:50:07 +0000
、パラメータとして 'Pythonは' search_tag(request,tag)
に送信する必要があります。
おかげでなければなりません!私は愚かです – weixiang