使用 views.py 中的主键重定向



我有一个观点

(user_list.html) 
{% extends "base.html" %}
{% load static %}


{% block content %}
<div class="list_main">
<div class="container">
{% for user in user_list %}
<ul>
<li><a href="{% url 'myapp:detail' pk=user.pk %}">
<div class="jumbotron">
<h4 class="list_content">{{user.name}}</h4>
</div>
</a></li>
</ul>
{% endfor %}
<div class="bttn">
<p><a type="button" class="btn btn-primary" href="{% url 'myapp:user' %}">Add</a></p>
</div>
</div>
</div>
{% endblock %}

在这里的帮助下

<p><a type="button" class="btn btn-primary" href="{% url 'myapp:user' %}">Add</a></p>

我正在呼叫(views.py -->用户视图(

def UserView(request):
response = requests.get('https://randomuser.me/api')
data = response.json()
title = data['results'][0]['name']['title']
first = data['results'][0]['name']['first']
last = data['results'][0]['name']['last']

final_name = " ".join([first,last])
#############################################
final_name = ". ".join([title, final_name])          #Final name of the user

#############################################
agee = data['results'][0]['dob']['age']               # age of the user

user = UserData.objects.create( name = final_name, age= agee, gender = gender)
user.save()

return redirect('detail', pk=user.pk) #This is not working

我想做的是每当单击模板 (user_list.html( 中的按钮时。 我想在我的 views.py 文件中输入此功能,然后执行操作并重定向到

(path('detail/<int:pk>/', views.UserDetailView.as_view(), name='detail'),)

我的观点。用户详细信息视图

class UserDetailView(DetailView):
model = UserData
context_object_name = 'user_detail'
template_name = 'user_detail.html'

如代码 in( UserView(request( 所示(,我尝试过"return redirect('detail', pk=user.pk(" 这是行不通的。

另外,请告诉我是否有更整洁有效的方法来执行中存在的操作 ( 用户视图(请求(( 当在 ( user_list.html ( 中单击按钮,然后从"用户视图"重定向到 ((路径('detail//', views.UserDetailView.as_view((, name='detail'(,((

使用重定向时,您错过了应用名称myapp

return redirect('myapp:detail', pk=user.pk)

最新更新