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

标签 django django-views

我有一个观点

 (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 --> UserView)

 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'),)

我的观点.UserDetailView

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

如( UserView(request) ) 中的代码所示,我尝试过“返回重定向('detail', pk=user.pk) ” 这不起作用。

另外请告诉我是否有更简洁、更有效的方法可以执行以下操作 ( UserView(request) ) 当在 ( user_list.html ) 中单击按钮时,然后从“UserView”重定向到 ((path('detail//', views.UserDetailView.as_view(), name='detail'),) )

最佳答案

使用重定向时您错过了应用程序名称 myapp:

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

关于django - 使用views.py中的主键重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59682311/

相关文章:

python - django.core.urlresolvers.resolve 在 apache 非 root 部署下的不正确行为

python - Django 模板和 render() - 如何访问多个值

python - Django 模板中查询集的最后一行

django/taggit-错误 : MyData objects need to have a primary key value before you can access their tags

django - Django select_related链接的外键

html - Django 脆皮表格仅部分加载 css

python - 使用 django analytics 和 google analytics 查看 user_id

django-views - Django @login_required 用于类 View

python - 如何将 Django 1.7 中的查询集导出到 xls 文件?

Django查询多对多字段计数错误计算