【问题标题】:Django urls. Click on the button and redirect to the same pageDjango 网址。单击按钮并重定向到同一页面
【发布时间】:2017-11-18 22:41:59
【问题描述】:

嘿嘿, 我的网址有问题。通过按钮,我传递给 url 适当的 id,在控制器中,我将这个 id 分配给当前日期以将其保存在数据库中(带有用户的表,然后管理员单击“参加”并将 lastAttendance 保存在数据库中) .我的网址堆积如山,因为单击它后不会将我重定向到同一页面。任何建议表示赞赏!

型号:

class Donor(models.Model):
firstName = models.CharField(max_length=50)
lastName = models.CharField(max_length=50)
bloodType = models.CharField(max_length=10)
createdDate = models.DateTimeField(auto_now_add=True)
lastAttendance = models.DateTimeField(auto_now_add=True)

网址:

url(r'^donors/get?attend=(\d+)/$', views.donors,  name='donors'),

查看:

@login_required(login_url="login/")
def donors(request):
    global message
    if request.method == 'POST':
        form = PostForm(request.POST) # A form bound to the POST data
        if form.is_valid():
            form.save() 

# context = RequestContext(request)
donor_id = None
if request.method == "GET":
    donor_id = request.GET.get('id')

if donor_id:
    donor = Donor.objects.get(id=int(donor_id))
    if donor:
        donor.lastAttendance = datetime.datetime.now()
        donor.save()

#display all the lates added donors
query_results = Donor.objects.order_by('-createdDate')
#dislay total ammount of rows
donors_count = Donor.objects.count()

return render(request, 'donors.html', {
    'form': PostForm(), 
    'donors_count': donors_count,
    'query_results': query_results,       
    })

HTML:

  <button 
type="submit" 
class="btn attendBtn" 
value="{{ item.id }}" 
name="attend">attend

输出 output in the browser

任何帮助将不胜感激!

【问题讨论】:

  • 请出示模板

标签: django date url redirect controller


【解决方案1】:

您不应在 URL 中使用问号,因为它被视为 URL 的参数。试试这个:

url(r'^donors/get/attend/(\d+)/$', views.donors,  name='donors'),

这将导致一个 URL,例如

https://example.com/donors/get/attend/12456

【讨论】:

  • 它仍然是相同的输出,但是即使我在单击按钮时从 url 中删除了这一行,它仍然会将我重定向到:127.0.0.1:8000/donors/get?attend=3 按钮中有名称和值的技巧吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 2021-09-07
  • 2019-09-15
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多