【问题标题】:How take values of params a URL in Django and give a Form如何在 Django 中获取一个 URL 的参数值并给出一个表单
【发布时间】:2020-08-15 10:06:12
【问题描述】:

models.py

class Prueba(models.Model): #collection name

    cantidad = models.PositiveIntegerField(default=1)

    def __str__(self):
        return  str(self.cantidad)

urls.py

from django.urls import path

from . import views

app_name = "home_app"

urlpatterns = [

path(
        'confirmar_viaje/',
        views.SampleView.as_view(), 
        name='userviajes',
    ),
]

View.py

class SampleView(CreateView):
    model=Prueba
    template_name='testpag.html'
    form_class=TestForm
    success_url = '/'

   def init_page(request):
        print(request.GET)
        pasajeros = self.request.form['pasajeros']
        print(pasajeros)

forms.py

class TestForm(forms.ModelForm):

    class Meta:
        model=Prueba
        fields=['cantidad']

我使用一个DetailView,在html里面有一个form(html)。 结果是 /test/?pasajeros=99

我想从 de url 参数中获取。 pasajeros=99 并从表单中填写文本字段。

代码没有错误,但我需要恢复一个或多个参数。

有什么想法吗?

【问题讨论】:

    标签: python django forms post get


    【解决方案1】:

    在您的表单中以代码 html 为例

    <a href = "{% url 'home_app:userviajes'%}"> link to your forms </a>
    

    【讨论】:

      【解决方案2】:

      这是调用 CreateView 的代码而不是我想要的填充

      
      <form action="/confirmar_viaje/" method="get">
                    <p>name: <input type="text" name="fullname" size="40" value={{user.username}} disabled></p>
         <p>Numeber: <input type="number" name="pasajeros" ></p>
                    <p>
                      <input type="submit" value="Submit">
                    </p>
      
                </form>
      

      为什么我这样做,它是因为这部分代码位于 DetailView 内部,并且不可能有两个视图指向一个地址,所以我的解决方案是通过 GET 发送数据,另一个视图捕获它的参数从 de URL 并自动填充我的字段,所以这样我有两个视图和他自己的 url。

      这是接收网址的代码

      <div>
            <form method="post">{% csrf_token %}
                {{ form.as_p }}
                <button type="submit">Registrar</button>
            </form>
        </div>
      </div>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-22
        • 1970-01-01
        • 2017-03-18
        • 1970-01-01
        • 2017-07-06
        • 1970-01-01
        相关资源
        最近更新 更多