【问题标题】:Structure of an HTML post Request vs Django HTML Post RequestHTML 发布请求的结构与 Django HTML 发布请求的结构
【发布时间】:2021-09-06 12:16:13
【问题描述】:

我有以下 HTML 表单代码,我正在尝试将其翻译成 Django 模板语言。

<form action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST"><input type=hidden name="oid" value="00D280000016jv0">
    <input type=hidden name="retURL" value="https://url/form/">
    <label for="first_name">First Name</label><input id="first_name" maxlength="40" name="first_name" size="20"
        type="text" /><br>
    <label for="last_name">Last Name</label><input id="last_name" maxlength="80" name="last_name" size="20"
        type="text" /><br>
    <label for="email">Email</label><input id="email" maxlength="80" name="email" size="20" type="text" /><br>
    <label for="phone">Phone</label><input id="phone" maxlength="40" name="phone" size="20" type="text" /><br>
    </select><br><input type="submit" name="submit">
</form>

我查看了 Django 模板教程,但无法翻译。这段代码的 Django 等价物是什么?

【问题讨论】:

  • @Razenstein 请再读一遍

标签: html django forms django-templates


【解决方案1】:

您可以基于此创建模型

models.py:

from django.db import models
from django.core.validators import MaxValueValidator

class MyModel(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email = models.EmailField( max_length=254)
    phone = models.PositiveIntegerField(validators=[MaxValueValidator(999999)])

views.py:

from django.views.generic import CreateView
from .models import MyModel
from . forms import Myform

class MyView(CreateView):
    model = MyModel
    form_class  = MyForm
    template_name = 'mytemplate.html'
    success_url = "https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8"

forms.py:

from django import forms
from .models import MyModel

class MyForm(forms.ModelForm):
    class Meta():
        model = MyModel
        fields='__all__'

urls.py:

from .views import MyView

urlpatterns = [
    path('create/', MyView.as_view(), name='create'),
]

HTML 模板

<form action="" method="POST">
    {%csrf_token%}
    {{form.as_p}}
</form>

当您看到整个项目时,因为这将使您有可能存储数据,然后您更新它删除它通过添加新功能到您在问题中提到的视图添加新的项目

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2018-05-11
    • 2012-09-26
    • 2020-10-30
    • 2014-09-17
    • 1970-01-01
    • 2018-08-17
    相关资源
    最近更新 更多