【问题标题】:How to use model attribute in both POST and GET in Django如何在 Django 的 POST 和 GET 中使用模型属性
【发布时间】:2020-10-29 19:21:35
【问题描述】:

我正在使用 POST 方法获得一个名为 Number 的属性。此外,我的模板中有一个带有 GET 方法的表单。对于该表单,我需要使用 Number 但它返回 None。

views.py

def recognition(request):
    tableFilter = ''

    if request.method == "POST":
        Number = request.POST.get('Number', None)
        meter = Meter.objects.get( Number= Number)

    if request.method == "GET":
         ************Here I need to use meter existing in POST part(first if)*********
        object_list = Report.objects.filter(meter=meter)
        tableFilter = RecordFilter(request.GET, queryset=object_list)

    context = {
        'meter':meter,
        'table_filter':tableFilter,

    }
    return render(request, 'services/specificMeterDelete.html',context)

如何在 GET 部分访问 Number

谢谢。

【问题讨论】:

    标签: python django django-views django-forms django-templates


    【解决方案1】:

    您可以使用表单操作发送数字并将其放入您的 url。然后在视图中通过 kwargs 获取它。例如: 模板:

    <form  action="{% url 'the url you need' send it here for example obj.pk %}">
    

    然后制作一个像这样的网址:

    path('the path.../<pk>', views.the view you need, name='the name you have for that')
    

    查看:

    number = kwargs.get("pk",None)
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-04-10
      • 1970-01-01
      • 2018-03-17
      • 2014-03-30
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多