New Джанго здесь, так что простите за вопрос новичка ...URL() получил неожиданное ключевое слово аргумент «пространства имен»
Я получаю ошибку url() got an unexpected keyword argument 'namespace'
, когда я пытаюсь вызвать на функцию reverse
. Пробовал несколько разных способов исправить это, но ничего не работает. Любые советы будут очень признательны. Пожалуйста, смотрите мой код ниже:
TypeError at /comments/topic-create/
url() got an unexpected keyword argument 'namespace'
Request Method: POST
Request URL: http://127.0.0.1:8000/comments/topic-create/
Django Version: 1.8.6
Exception Type: TypeError
Exception Value:
url() got an unexpected keyword argument 'namespace'
models.py
from django.db import models
from django.conf import settings
from django.utils.text import slugify
from django.core.urlresolvers import reverse
class Topic(models.Model):
title = models.CharField(max_length=50)
stock = models.ManyToManyField(Stock)
slug = models.SlugField(max_length=200, blank=True)
created = models.DateField(auto_now_add=True,
db_index=True)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Topic, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('comments:topic_detail', args=[self.id, self.slug])
forms.py
from django import forms
from .models import Topic
class TopicCreateForm(forms.ModelForm):
class Meta:
model = Topic
fields = ('__all__')
views.py
from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.decorators import login_required
from .forms import TopicCreateForm
from django.contrib import messages
from .models import Stock, Topic, Comment
# from django.core.urlresolvers import reverse_lazy
@login_required
def topic_create(request):
if request.method == 'POST':
form = TopicCreateForm(data=request.POST)
if form.is_valid():
cd = form.cleaned_data
new_item = form.save(commit=False)
new_item.user = request.user
new_item.save()
messages.success(request, 'Topic added successfully')
# redirect to new created topic detail view
return redirect(new_item.get_absolute_url())
else:
form = TopicCreateForm(data=request.GET)
return render(request,
'comments/comment/topic-create.html',
{'section': 'topic',
'form': form})
def topic_detail(request, namespace, id, slug):
topic = get_object_or_404(Topic, id=id, slug=slug)
return render(request,
'comments/comment/topic-detail.html',
{'section': 'topic',
'topic': topic})
комментарии/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^topic-create/$', views.topic_create, name='create-topic'),
url(r'topic-detail/(?P<id>\d+)/(?P<slug>[-\w]+)/$',
views.topic_detail, name='topic-detail'),
]
MySite/urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^account/', include('account.urls')),
url(r'^comments/', include('comments.urls'),
namespace='comments'),
]
OMG ... спасибо, ребята! –