Skip to main content
 首页 » 编程设计

python之Django之如何给 URL 一个变量

2025年05月04日45tuyile006

我正在为我的网站制作一个编辑列表系统,但遇到了一个问题,我遇到的问题是我的编辑列表门户显示了与相关帐户关联的所有列表。这个想法是,人们可以单击任何列表,然后将他们带到编辑列表表单,但是当您单击它时,我的编辑列表表单应该会被赋予一个公钥。我的问题是我不知道如何将列表 pk 放入 url。有人可以告诉我该怎么做吗?

谢谢

代码-

列表门户 -

{% extends "base.html" %} 
 
{% block content %} 
 
    <h1 class="pageheader">Edit Your Job Listings</h1> 
 
    <div class="joblistings"> 
    <p class="jobcounter">There are <b>{{ joblistings.count }}</b> jobs available</p> 
    {% if joblistings %} 
            {% for joblisting in joblistings %} 
               {% if joblisting.active_listing %} 
                 <div class="listings-item"> 
                   <a href="{% url 'editlisting' %}"> <--- THIS IS THE URL 
                   <ul> 
                   <li class="listing-title">{{ joblisting.job_title }} - {{ joblisting.business_name }}</li> 
                   <li>Region: {{ joblisting.business_address_suburb }}</li> 
                   <li>Pay Rate: ${{ joblisting.pay_rate }}</li> 
                   <li>Contact Method: {{ joblisting.contact_method }}</li> 
                   </ul> 
                   </a> 
                 </div> 
               {% endif %} 
            {% endfor %} 
 
    {% else %} 
        <p>Unfortunately all of the job opportunities have been taken at this moment.</p> 
    {% endif %} 
    </div> 
{% endblock %} 

编辑 ListView -

# This is the view which manages the edit listing page 
@login_required(redirect_field_name='login') 
def editlisting(request, pk): 
 
    post = JobListing.objects.get(pk=pk) 
 
    #if str(request.user) != str(post.user): 
     #   return redirect("index") 
 
    if request.method == "POST": 
        print("test") 
        form = JobListingForm(request.POST, instance=post, force_update=True) 
 
        if form.is_valid(): 
            form.save() 
            return redirect('index') 
 
    else: 
        print("else") 
        form = JobListingForm(instance=post) 
 
    context = { 
        "form": form 
    } 
 
    return render(request, "editlisting.html", context) 

请您参考如下方法:

这个怎么样?

<a href="{% url 'editlisting' joblisting.pk %}">Click me</a>