嗨,這是我的專案,我需要在我的專案 get_absolute_url 中定義兩個 get_absolute_url 一個
模型.py
def get_absolute_url(self):
return reverse("cv:resume_detial", args={self.id, self.slug})
網址.py
path('resume-detial/<int:resume_id>/<slug:resume_slug>', views.ResumeDetialView.as_view(), name="resume_detial"),
視圖.py
class ResumeDetialView(View):
template_name = 'cv/resume-detial.html'
def get(self, request, resume_id, resume_slug):
resumes = ResumeDetial.objects.get(pk=resume_id, slug=resume_slug)
return render(request, self.template_name, {'resumes':resumes})
這是一項作業,但其他 get_absolute_url 不起作用
模型.py
def get_absolute_url(self):
return reverse("cv:project_detial", args={self.id, self.project_slug})
網址.py
path('project-detial/<int:project_id>/<slug:projects_slug>', views.ProjectDetialView.as_view(), name="project_detial"),
視圖.py
class ProjectDetialView(View):
template_name = 'cv/project-detial.html'
def get(self, request, project_id, projects_slug):
projects = ResumeDetial.objects.get(pk=project_id, slug=projects_slug)
return render(request, self.template_name, {"projects":projects})
django 訊息
DoesNotExist at /project-detial/1/todo-django
ResumeDetial matching query does not exist.
我是初學者,謝謝你的幫助
uj5u.com熱心網友回復:
ResumeDetial.objects.get(pk=project_id, slug=projects_slug)
當具有這些條件的 ResumeDetial 不存在時,您正在執行此操作。您可以使用過濾器使用給定的條件搜索 ResumeDetial,如果沒有找到結果,它將回傳一個空串列。
因此,您可以更改這部分代碼:
def get(self, request, project_id, projects_slug):
projects = ResumeDetial.objects.filter(pk=project_id, slug=projects_slug)
return render(request, self.template_name, {"projects":projects})
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425876.html
