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'),
我正在尝试将博客添加到现有测试网站,但收到以下错误消息:
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'),