【问题标题】:redirecting with primary key from views.py使用views.py中的主键重定向
【发布时间】:2020-01-10 13:06:32
【问题描述】:

我有意见

 (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))中的代码所示,我试过“return redirect('detail', pk=user.pk)” 这不起作用。

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

【问题讨论】:

    标签: django django-views


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 2018-03-17
      • 2021-05-13
      • 1970-01-01
      • 2021-02-24
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      相关资源
      最近更新 更多