1
我正在Django上工作1.11Django中的重定向
我想從視圖中重定向用戶。
內容myapp/accounts/urls.py
app_name = 'accounts'
urlpatterns = [
url(r'^$', views.ProfileView.as_view(), name='profile'),
url(r'^profile/', views.ProfileView.as_view(), name='profile')
]
和myapp/accounts/views.py
from django.contrib.auth.models import User
# Create your views here.
from django.http import HttpResponseRedirect
from django.urls import reverse
from django.views.generic import TemplateView, UpdateView
class ProfileView(TemplateView):
template_name = 'accounts/profile.html'
class UpdateProfile(UpdateView):
model = User
fields = ['first_name', 'last_name']
template_name = 'accounts/update.html'
def get_object(self):
return self.request.user
def get_success_url(self):
messages.success(self.request, 'Profile Updated Successfully')
return HttpResponseRedirect(reverse('profile'))
這是重定向給錯誤。
NoReverseMatch at /accounts/update/
Reverse for 'profile' not found. 'profile' is not a valid view function or pattern name.
如何更新配置文件的詳細信息後,用戶重定向到profile
頁?
如何重定向用戶到其他應用程序的看法?
的'url'應該是唯一的名稱,使用的是'name ='profile'' 2網址 – AndMar
我使用的名稱都因爲我想重定向'www.example.com/accounts'和'www.example.com /賬戶/ profile'到相同的視圖。 –
刪除線'網址(R '^ $',views.ProfileView.as_view(),名稱= '個人資料'),',還是同樣的錯誤 –