代码之家  ›  专栏  ›  技术社区  ›  Ashok

附加Django请求URL

  •  1
  • Ashok  · 技术社区  · 8 年前

    我访问管理界面并尝试在django中添加支持用户。这是一个带有用户名和电子邮件的表单。表单数据已成功过帐。成功发布请求后,我必须重定向到 127.0.0.1:8000/管理员/授权/用户/ . 然而,在 127.0.0.1:8000/添加\u支持\u用户 如果用户已经存在,则url将如下更改 127.0.0.1:8000/add\u support\u user/add\u support\u user 我再次请求,如果用户已经存在,它是这样的 127.0.0.1:8000/add\u support\u user/add\u support\u user/add\u support\u user (每次追加) support_User_form 当创建新用户时,url会这样更改 127.0.0.1:8000/add\u support\u user/add\u support\u user 所以它显示了500个错误页面 '127.0.0.1:8000/add\u support\u user/add\u support\u user' 不存在 error_page . 我在这里犯了什么错误?

    URL。PY公司

     url(r"^add_support_user/", AddSupportUserView.as_view(), name = 'support_user'),
    

    意见。PY公司

    class AddSupportUserView(CsrfExemptMixin, View):
    def get(self, request):
        form_class = AddSupportUserForm
    
        return render(request, 'add_support_user.html', {
            'form': form_class,
        })
    
    def post(self, request):
        form_class = AddSupportUserForm
    
        username = request.POST.get('username')
        email = request.POST.get('email')
        try:
            user_obj = User.objects.get(username=username)
            return render(request, 'add_support_user.html', {'errors': 'User already exits', 'form': form_class})
        except User.DoesNotExist:
            user_obj = User.objects.create_user(username=username, email=email, is_staff=True,
                                                is_superuser=False)
            user_obj.set_password(email)
            user_obj.save()
        group_obj = Group.objects.get(name='support_group')
        user_obj.groups.add(group_obj)
        return HttpResponseRedirect('/admin/auth/user/')
    

    更改\u列表。HTML

    {% extends "admin/change_list.html" %} {% block object-tools-items %} {{ 
    block.super }}
    <li>
    <a href="{% url 'support_user' %}" class="grp-state-focus addlink">Add   
    Support User</a>
    </li>
    {% endblock %}
    

    添加\u SUPPORT\u用户。HTML

    {% extends 'admin/base.html' %}{% block content %}
    <h1>Add Support User</h1>
    <form role="form" action="add_support_user/" method="post">
    {% csrf_token %}
    <label style="color:red;">*{{errors}}</label>
    <table>
        {% for field in form %}
        <tbody>
            <tr>
                <td>
                    <label for="{{ field.label }}" style="display:inline- 
    block;vertical-align:middle">{{ field.label_tag }}</label>
                </td>
                <td>
                    {{ field }}
                </td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
    <br>
    <input style="float:left;" type="submit" value="Save" class="default"  
    name="_save">
    </form>
    {% endblock %}
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Exprator    8 年前

    更改表单

    <form role="form" action="add_support_user/" method="post">
    

    到这个

    <form role="form" action="" method="post">