當用戶完成更新他們的個人資料時,我想將他們重定向回個人資料頁面,但它一直顯示Reverse for 'profile' with no arguments not found. 1 pattern(s) tried: ['(?P<username>[^/] )/$']我已嘗試使我的視圖重定向但現在。
視圖.py
def profile_update(request):
Profile.objects.get_or_create(user=request.user)
if request.method == "POST":
u_form = UserUpdateForm(request.POST, instance=request.user)
p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)
if u_form.is_valid() and p_form.is_valid():
u_form.save()
p_form.save()
messages.success(request, f'Acount Updated Successfully!')
return redirect('profile')
else:
u_form = UserUpdateForm(request.POST, instance=request.user)
p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)
context = {
'u_form': u_form,
'p_form': p_form,
}
return render(request, 'userauths/profile_update.html', context)
urls.py 主專案目錄
from userauths.views import UserProfile
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('userauths.urls')),
path('<username>/', UserProfile, name='profile'),
]
uj5u.com熱心網友回復:
從 django.contrib.auth.decorators 匯入 login_required
嘗試 :
@login_required
def profile_update(request):
profile = get_object_or_404(Profile, user=request.user)
return redirect('profile', profile.user.username)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403000.html
標籤:
上一篇:TEdgeBrowser-OnNewWindowRequested-在另一個TEdgeBrowser中打開新視窗
