django的:博客()缺少1个所需位置参数:“blog_id”

问题描述:

我试图到博客添加到现有的测试网站,但我收到以下错误消息:django的:博客()缺少1个所需位置参数:“blog_id”

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

这可能是一个我犯了一个简单的错误,但我很难理解我做错了什么,以及如何解决这个问题。我搜索谷歌和SO,但我还没有找到合适的参考。

这里是我的模型类:

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"), 
    }) 

这里亩urls.py文件:

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

任何帮助将不胜感激。

+0

显示你的'urls.py' –

您需要从您的网址传递blog_id

from . import views 

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

@ user1261774,你有没有试过?它为你工作? –

+0

谢谢。我已将您的代码放入我的代码中。我现在有以下错误信息:'找不到'参数'()'和关键字参数'{'''的博客'。尝试1种模式:['blog /(?P \\ d +)/ $']'。有什么建议么。 – user1261774

+0

我应该使用单一博客(错字?):'URL(R '?^博客/(P \ d +)/ $',views.blog,名称= '博客'),' – user1261774