Python 诺维塞马奇/

Python 诺维塞马奇/,python,django,django-templates,Python,Django,Django Templates,我得到一个挪威匹配错误。为了找到答案,我读了好几篇文章,但我没有看到解决办法 这是一个简单的博客webapp,用于按时间顺序显示帖子。该错误与“views.py”中的edit_post函数有关。我怀疑该错误与修改post时试图将posts.id存储为参数有关。我已尝试删除下面有问题的行中的post.id,它将加载页面。问题是,如果我这样做,我就无法加载页面来编辑之后的特定文章 我不明白我错过了什么。我看过很多关于这个错误的帖子,但我无法确定我的具体场景中的问题。非常感谢您的帮助 我的错误: 诺维

我得到一个挪威匹配错误。为了找到答案,我读了好几篇文章,但我没有看到解决办法

这是一个简单的博客webapp,用于按时间顺序显示帖子。该错误与“views.py”中的edit_post函数有关。我怀疑该错误与修改post时试图将posts.id存储为参数有关。我已尝试删除下面有问题的行中的post.id,它将加载页面。问题是,如果我这样做,我就无法加载页面来编辑之后的特定文章

我不明白我错过了什么。我看过很多关于这个错误的帖子,但我无法确定我的具体场景中的问题。非常感谢您的帮助

我的错误:

诺维塞马奇/

相反,找不到参数“(“”,)”和关键字参数“{}”)的“编辑文章”。尝试了1个模式:[“编辑帖子(?P\d+)/”]

以下是主页“index.html”中有问题的一行:

我的“url.py”:

“edit_posts.html”页面的模板:

{%extends“blogs/base.html”%}
{%block content%}
编辑现有帖子:

{%csrf_令牌%} {{form.as_p}} 保存更改 {%endblock内容%}
在模板中,
posts
——顾名思义——是一个查询集,即BlogPost对象的列表。该查询集没有
id
属性;只有该列表中的单个帖子才可以

如果要链接到特定的帖子,需要循环浏览该列表,并使用循环中每个帖子的
id

{% for post in posts %}
<p>
<a href="{% url 'blogs:edit_posts' post.id %}">edit post</a>
</p>
{% endfor %}
{%for posts in posts%}

{%endfor%}
呈现index.html的索引视图的代码在哪里,因为这是发生错误的地方?我本来会发布回溯,但在多次尝试后遇到错误。如果有人认为有必要的话,我会再尝试一次。索引视图补充道。谢谢你快速且非常有用的反馈。这就解决了问题。
def index(request):
    """The home page for Blog."""
    posts = BlogPost.objects.order_by('date_added')
    context = {'posts': posts}
    return render(request, 'blogs/index.html', context)
urlpatterns = [
    # Home page
    url(r'^$', views.index, name='index'),
    # url(r'^posts/$', views.posts, name='posts'),

    # Page for adding a new post.
    url(r'^new_post/$', views.new_post, name='new_post'),

    # Page for editing posts.
    url(r'^edit_posts(?P<posts_id>\d+)/$', views.edit_posts,
        name='edit_posts'),
]
def edit_posts(request, posts_id):
    """Edit an existing post."""
    posts = BlogPost.objects.get(id=posts_id)

    if request.method != 'POST':
        # Initial request; pre-fill form with the current entry.
        form = PostForm(instance=posts)
    else:
        # POST data submitted; process data.
        form = PostForm(instance=posts, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('blogs:index',
                                            args=[posts.id]))

    context = {'posts': posts, 'form': form}
    return render(request, 'blogs/edit_posts.html', context)
{% extends "blogs/base.html" %}

{% block content %}

  <p>Edit an existing post:</p>

  <form action="{% url 'blogs:edit_posts' post.id %}" method='post'>
    {% csrf_token %}
    {{ form.as_p }}
  <button name="submit">save changes</button>
  </form>

{% endblock content %}
{% for post in posts %}
<p>
<a href="{% url 'blogs:edit_posts' post.id %}">edit post</a>
</p>
{% endfor %}