我正在尝试使用CreateView,这里有一些问题,我正在堆叠它。
enter code here首先,我尝试创建一个post,并动态填充创建post的用户字段。它保存帖子,但不保存用户:
来自管理员的图像

#views.py
class PostCreateView(CreateView):
model = Post
template_name = 'blog/post_create.html'
fields = ('title', 'slug', 'body',)
def form_valid(self, form):
form.instance.blog__user = self.request.user
return super(PostCreateView,self).form_valid(form)
#models.py第二个,我认为主要的问题是,我没有正确使用get_absolute_url,我得到了这个问题:
没有要重定向到的URL。

但它对post_detail很有效。
class Blog(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
slug = models.SlugField(max_length=50)
def __str__(self):
return self.user.username
def create_blog(sender, **kwargs):
if kwargs['created']:
user_blog = Blog.objects.create(user=kwargs['instance'], slug=kwargs['instance'])
post_save.connect(create_blog, sender=User)
class Post(models.Model):
blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
slug = models.SlugField(max_length=50, db_index=True)
title = models.CharField(max_length=120, db_index=True)
body = models.TextField(blank=True, db_index=True)
pub_date = models.DateTimeField(auto_now_add=True)
def get_absolute_url(self):
return reverse('post_detail_url', kwargs={'slug': self.slug,
'username': self.blog})
#urls.py
urlpatterns = [
path('<username>/create/', PostCreateView.as_view(), name='post_create'),
path('<username>/<str:slug>/', PostDetailView.as_view(), name='post_detail_url'),
path('<username>/', PostListView.as_view(), name='post_list_url'),
path('<username>/<str:slug>/update/', PostUpdateView.as_view(), name='post_update'),
]我尝试定义get_success_url,得到的结果是: NoReverseMatch

请帮帮我,我真的迷失在云端了!
发布于 2019-02-12 12:35:27
尝试下面的代码
class PostCreateView(CreateView):
model = Post
template_name = 'blog/post_create.html'
fields = ('title', 'slug', 'body', 'blog')
def get_success_url(self):
return self.post_instance.get_absolute_url()
def form_valid(self, form):
form.instance.blog.user = self.request.user
self.post_instance = form.instance
return super(PostCreateView,self).form_valid(form)https://stackoverflow.com/questions/54642749
复制相似问题