django: blog() 缺少 1 个必需的位置参数:'blog_id'

django: blog() missing 1 required positional argument: 'blog_id'

我正在尝试将博客添加到现有测试网站,但收到以下错误消息:

blog() missing 1 required positional argument: 'blog_id'

这可能是我犯的一个简单错误,但我对自己做错了什么以及如何解决这个问题感到困惑。我搜索了 google 和 SO,但没有找到合适的参考。

这是我的模型class:

class Blog(models.Model):
    blog_title = models.CharField(null=False, blank=False, max_length=150, unique=True)
    blog_description = models.CharField(null=False, blank=False, max_length=500)
    blog_script = models.CharField(null=True, blank=True, max_length=5000)
    blog_date_released = models.DateField(null=False, blank=False)
    blog_tags = models.CharField(null=True, blank=True, max_length=150)
    blog_video_url = models.URLField(null=False, blank=False, max_length=250)
    blog_timestamp_added = models.DateTimeField(auto_now_add=True, auto_now=False)
    blog_timestamp_updated = models.DateTimeField(auto_now=True, auto_now_add=False)

这是我的 views.py 文件:

from django.shortcuts import render
from django.utils.translation import ugettext_lazy as _
from myapp.core.decorators import *
from myapp.core.models import Blog

def blog(request, blog_id):
    blog = Blog.objects.get(pk=blog_id)
    ....
    return render(request, 'blog/blog.html', {
        'blog': blog,
        'display_default_language': the_display_default_language,
        'language_versions': language_versions,
        'language_versions_num_enabled': language_versions_num_enabled,
        'language_versions_num_total': language_versions_num_total,
        'var_page_title': _("Blog"),
    })

这是 mu urls.py 文件:

urlpatterns = [
    ....
    url(r'^blog/blog/$', views.blog, name='blog'),
]

任何帮助将不胜感激。

您需要从您的网址中传递 blog_id

from . import views

url(r'^blog/(?P<blog_id>\d+)/$',views.blog, name='blogs'),