gpt4 book ai didi

Django:如果用户之前输入过地址

转载 作者:行者123 更新时间:2023-12-02 05:44:41 24 4
gpt4 key购买 nike

如果用户之前在登录时未填写表单,我想向他显示一个表单,但如果他之前填写过信息,则将他重定向到主页。我该如何实现这个目标?

这是我的观点:

def makinginfo(request):
form = SongForm(request.POST or None)
songprofile = SongProfile.objects.get().filter(user=request.user)
if songprofile = null: IS THIS RIGHT?
if form.is_valid():
form.save()
sp = SongProfile
sp.song = form.pk
sp.save()
if 'next' in request.POST:
next = request.POST['next']
else:
next = reverse('index_show')
return HttpResponseRedirect(next)
return render_to_response(
'song/create.html',
{'form':form},

context_instance = RequestContext(request)
)

else:
return render_to_response(
'song/show.html',
context_instance = RequestContext(request)
)

我走的路正确吗?

谢谢

其他信息:

SongProfile 和 Song 是两个不同的模型。 SongProfile模型如下:class SongProfile(models.Model):
歌曲 = models.OneToOneField(Song)
因此,当我尝试同时保存歌曲和歌曲配置文件时,其中 Songprofile.song 保存歌曲中创建的记录的最新 ID/PK。这是错误的吗?

最佳答案

我假设每个用户只有一个 SongProfile 对象。

 try:
songprofile = SongProfile.objects.get(user=request.user)
# Render song/show.html
except SongProfile.DoesNotExist:
if form.is_valid():
# Process post

# Render song/create.html

使用表单创建的歌曲创建一个新的 SongProfile 对象:

 song = form.save()
songprofile = SongProfile(user=request.user)
songprofile.song = song
songprofile.save()
<小时/>

再次编辑:

修复了向后的问题并添加了 Song 对象。

关于Django:如果用户之前输入过地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6040458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com