【发布时间】:2020-12-13 12:25:09
【问题描述】:
我是一名 Django 新手,正在尝试将现有的基于 HTML 的网站转换为 Django 3。此页面中唯一复杂的部分是调用使用 django.core.mail 包的 Django 方法,并且一切正常,但是,我我正在尝试从 HTML 模板中提取一些数据并将其传递给此方法。
该方法有效,只是它发送一封空白电子邮件。我正在尝试传递最终用户将在表单上填写的联系信息。如果我将数据硬编码到它工作的方法中。
我尝试通过urls.py 传递数据,但是,当我调用该方法时,我尝试的所有内容都无法解析。当我使用request.GET.get 时,一切似乎都正常,只是没有数据。
我希望在方法中使用类似于 JQuery 的东西,如下所示。
name = str(request.GET.get('Name:', '').strip())
email = str(request.GET.get('Email:', '').strip())
msg1 = str(request.GET.get('Message:', '').strip())
字段位于 HTML 表单中。
我将在下面包含一些相关的配置项。
urls.py
from django.urls import path
from django.conf import settings
from django.conf.urls import url
from django.conf.urls.static import static
from . import views
app_name = 'willdoit'
urlpatterns = [
path('', views.index),
#url(r'^contact/(?P<name>\.+)/(?P<email>\.+)/(?P<msg1>\.+)/?$', views.contact, name='contact'),
path('contact/', views.contact, name='contact'),
]
views.py
def contact(request):
name1 = request.GET.get('name', '')
email1= request.GET.get('email', '')
msg1 = request.GET.get('message1', '')
subject = 'Work needed'
from_email = settings.DEFAULT_FROM_EMAIL
message = name + ' ' + email + ' ' + msg1
recipient_list = ['pkustra914@gmail.com']
send_mail(subject, message, from_email, recipient_list, fail_silently=False)
return HttpResponse('Success')
相关 HTML 模板部分
<div class="contact_content">
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="contact_message wow fadeInLeft" data-wow-duration="1.5s">
<form action="#" id="formid">
<form action="#" id="formid">
<div class="form-group"> <input class="form-control" name="name"
placeholder="Name" required="" type="text"> </div>
<div class="form-group"> <input class="form-control" name="email"
placeholder="Email" required="" type="email"> </div>
<div class="form-group">
<div class="Descrizione"> <label for="InserisciDescrizione"
class=""><b>Message</b></label> <textarea class="form-control"
id="message" placeholder="Type message:" name="message1" rows="6" cols="50"
title="Message"></textarea> </div>
<a id="submit" href="{% url 'willdoit:contact' %}" class="btn btn-primary">Submit</a>
我更喜欢使用 request.GET.get 方法,但是,有更多的文档通过 url 传递它。
谢谢。
【问题讨论】:
标签: python-3.x django django-views django-templates