Javascript 仅向Django中的服务器发送特定值

Javascript 仅向Django中的服务器发送特定值,javascript,python,html,django,templates,Javascript,Python,Html,Django,Templates,我有如下html代码: {% for i, j, k in full_name %} {{ i }} {{ j }} <input type="text" name="follow_id" value="{{ k }}" /> <input type="submit" value="Follow"><br /> <br /> {% endfor %} user1 user_id_of_user1 follow_b

我有如下html代码:

{% for i, j, k in full_name %}
    {{ i }} {{ j }} 
    <input type="text" name="follow_id" value="{{ k }}" />
    <input type="submit" value="Follow"><br /> <br />   

{% endfor %}
user1 user_id_of_user1 follow_button

user2 user_id_of_user2 follow_button

user3 user_id_of_user3 follow_button
followed_user = request.POST['follow_id'] 
# Process
如果我按下user3的follow按钮,我只想发送user3的id,这样我就可以像这样在服务器中访问它:

{% for i, j, k in full_name %}
    {{ i }} {{ j }} 
    <input type="text" name="follow_id" value="{{ k }}" />
    <input type="submit" value="Follow"><br /> <br />   

{% endfor %}
user1 user_id_of_user1 follow_button

user2 user_id_of_user2 follow_button

user3 user_id_of_user3 follow_button
followed_user = request.POST['follow_id'] 
# Process

但是,无论我按下哪个follow_按钮,我只会得到user1的用户id。如何解决这个问题?

这不是Django的问题,而是HTML的问题。以下是解决方法:每个用户1张表单:

{% for i, j, k in full_name %}
    <form action="mydomain.com/mysubmiturl/" method="POST"><!-- Leave action empty to submit to this very same html -->
        {% csrf_token %} <!-- Django server only accept POST requests with a CSRF token -->
        {{ i }} {{ j }} 
        <input type="text" name="follow_id" value="{{ k }}" />
        <input type="submit" value="Follow"><br /> <br />
    </form>
{% endfor %}
{i,j,k的全名为%}
{%csrf_令牌%}
{{i}{{j}


{%endfor%}

请注意,所有表单都提交到相同的URL,因此具有相同的查看功能

只要我的2美分,我就会用一些jQuery来完成这项工作

在模板中:

{% for i, j, k in full_name %}
    {{ i }} {{ j }} 
    <a href="#" id="js-follow-{{ k }}" class="follow-button">Follow</a>
{% endfor %}

您可以尝试在循环中用自己的
标记包装每个部分。比如说10000个用户,所以我应该编写10000个表单和10000个视图(函数)来处理每个id?如果您有10000个用户,我会用javascript动态创建所有内容,这样您只需传输数据。但是,我还是有点不清楚你在做什么。查看您现在为3个左右的用户生成的html会有所帮助,包括周围的
标记或我试图帮助您的标记。我告诉你,我仍然不清楚这个问题,所以看到额外的代码将有助于你的代码是错误的。您需要将您的姓名置于folow_id[]的形式下,以便POST数据包含所有输入的数组。在您的情况下,只有每个名称的第一个或最后一个(我不知道)输入被转发到服务器。