我正在使用Django 2.2,并且在基于类的成功URL中重定向时遇到了问题。
enter code here - view.py
class LetterFormView(CreateView):
template_name = 'post.html'
model = Letter
form_class = LetterForm
def get_success_url(self):
return reverse ('mainapp:user-profile')
和url.py
enter code here- urls.py
path('profile/<username>/', views.UserProfilePage.as_view(), name='user-profile'),
class Letter(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default=1)
subject = models.CharField(max_length=100, null=False, blank=False)
description = models.CharField(max_length=300, null=True, blank=True)
date_time = models.DateTimeField(auto_now_add=True)
Text = models.TextField()
这是我的模型的样子
现在,我不确定如何在此处传递username参数。
答案 0 :(得分:1)
您可以使用kwargs以反向功能传递url参数。
import akka.actor.typed.eventstream.EventStream;
system.eventStream().tell(new EventStream.Subscribe(DeadLetter.class, actor));
答案 1 :(得分:0)
您似乎缺少get_success_url
方法的缩进级别;它必须在class LetterFormView
范围内:
class LetterFormView(CreateView):
template_name = 'post.html'
model = Letter
form_class = LetterForm
def get_success_url(self):
return reverse ('mainapp:user-profile')
此外,请务必缩进四个空格以遵守PEP-8;您似乎在班上缩进了三个空格。
答案 2 :(得分:0)
您可以尝试查看代码
class LetterFormView(CreateView):
template_name = 'post.html'
model = Letter
form_class = LetterForm
def get_success_url(self):
return reverse('mainapp:user-profile', kwargs={'username': self.object.username')})
self.object.username
请使用如何对项目中的模型结构进行调整
而不是在URL代码上,不要忘记初始化 username
参数上的数据类型
path('profile/<str:username>/', views.UserProfilePage.as_view(), name='user-profile'),