Python 找不到第404页django

Python 找不到第404页django,python,django,Python,Django,我正在尝试执行“添加成员”功能。基本上,当您单击“添加按钮”按钮时,成员名称将显示在此页面中的某个位置。但我遇到了以下错误: 下面是HTML的一部分,看起来像: project_detail.html {% extends 'base.html' %} {% block content %} <p>Project {{ project_id }} detail</p> <div class="btn btn-default oval" style=

我正在尝试执行“添加成员”功能。基本上,当您单击“添加按钮”按钮时,成员名称将显示在此页面中的某个位置。但我遇到了以下错误:

下面是HTML的一部分,看起来像:

project_detail.html

{% extends 'base.html' %}

{% block content %}
  <p>Project {{ project_id }} detail</p>
    <div class="btn btn-default oval" style="width: 10%"><a href="{% url 'project:project_edit' project_id=project_id%}">Edit</a></div>
    <div class="btn btn-default oval"style="width: 10%"><a href="{% url 'project:project_delete' project_id=project_id%}">Delete</a></div>
    <div class="btn btn-default oval"style="width: 10%">Members</div>
     <form action="" method="POST" id="selection-form">
                  {% csrf_token %}
                    <select id="member_list">
                            {% for user in users %}
                        <option value="{{user.id}}">
                            {{ user.username }}
                        </option>
                   {% endfor %}
                    </select>

                     <input type="button" value="Add member" id="selection-button">
                     </form>

                    <div id="res"> </div>


{% endblock %}


{% block script %}
    var url = $( '#selection-button' ).attr( 'action' );
    $("#selection-button").on('click', function(e) {
        e.preventDefault();
        var value =$('#member_list').val();
        $.ajax({
            type:'POST',
            url:'add_member/'+value+'/',
            success:function (result) {
                $("#res").append(value);
            },
            error:function (result) {
              alert('error');
            }
        });
    });

{%  endblock %}
project_add_member.html

{% extends 'base.html' %}
{% block content %}
<div>success!</div>
{% endblock %}

我想不出哪里错了。好像是URL?如果需要我上传更多代码以确定问题,请告诉我

您的视图
add_member
应该声明它接收的两个URL参数:

改变

def add_member(request,project_id):
    ...


404错误表示找不到某些内容。你确定id为5的项目和id为1的用户存在吗?我认为“project/project\u add\u member”必须是“project/project\u add\u member.html”。我刚刚尝试删除项目视图中的“.html”,django会抛出一个“找不到模板”错误。否。在我的404页面中,仍然找不到@Alexandre Cox 5您的
url。py
没有在添加成员url上指定尾随斜杠。删除JS
url:'add_member/'+value,
中的尾随斜杠,应该去掉404。仅供参考。因为Django有一个名为。如果有人在执行请求,django会自动添加一个斜杠,如果没有其他url可以解析的话。当我删除它时,它给了我403个禁止的错误:/@blackwhiteproject id和用户id正常。这仍然给出了相同的错误。我想知道这是因为我的url吗@拉尔夫
{% extends 'base.html' %}
{% block content %}
<div>success!</div>
{% endblock %}
@csrf_exempt
def add_member(request,project_id,user_id):
    project = get_object_or_404(Project, id=project_id)
    user = get_object_or_404(User, id=user_id)
    form = User(request.POST)
    if request.method=='POST':
        form = User(request.POST,instance=User)
        if form.is_valid():
            form.save()
            return redirect('project:delete_index')
        else:
            form = User()
def add_member(request,project_id):
    ...
def add_member(request, project_id, user_id):
    project = get_object_or_404(Project, id=project_id)
    user = get_object_or_404(User, id=user_id)
    ...