2017-10-08 8 views
1

Ich versuche, einen Blog zu einer bestehenden Test Website hinzufügen, aber ich erhalte die folgende Fehlermeldung:django: Blog() 1 erforderlich Positions Argument fehlt: ‚blog_id‘

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

Dies kann sein, Ich habe einen einfachen Fehler gemacht, aber ich bin ratlos, was ich falsch gemacht habe und wie ich das beheben kann. Ich habe google und SO durchsucht, habe aber keine passende Referenz gefunden.

Hier ist meine Modelle Klasse:

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) 

Hier meine views.py Datei ist:

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

Hier mu urls.py Datei:

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

Jede Hilfe wird sehr geschätzt werden.

+0

Ihre 'urls.py' –

Antwort

2

Sie müssen blog_id von Ihrem urls weitergeben müssen:

from . import views 

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

@ user1261774 zeigen, Haben Sie versucht ?? Hat es für dich funktioniert? –

+0

Danke. Ich habe Ihren Code in meinen Code eingegeben. Ich habe jetzt folgende Fehlermeldung: 'Reverse für 'Blog' mit Argumenten '()' und Schlüsselwortargumente '{}' nicht gefunden. 1 Muster probiert: ['blog/(? P \\ d +)/$'] '. Irgendwelche Vorschläge. – user1261774

+0

Soll ich singular blog (typo?): 'Url (r '^ blog/(? P \ d +)/$', ansichten.blog, name = 'blog'),' – user1261774

Verwandte Themen