我们让网站开发人员在Django中重新设计整个网站,这些是来自我们网站开发人员的问题,我对如何回答没有任何真正的知识,所以我认为这里的某个人可能会提供帮助。
我们遇到了一些网络问题导致并将其映射到Salesforce,我希望我们已经解决了这个问题。
以下是代码段:
<!-- ---------------------------------------------------------------------- -->
<!-- NOTE: Please add the following <META> element to your page <HEAD>. -->
<!-- If necessary, please modify the charset parameter to specify the -->
<!-- character set of your HTML page. -->
<!-- ---------------------------------------------------------------------- -->
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
<!-- ---------------------------------------------------------------------- -->
<!-- NOTE: Please add the following <FORM> element to your page. -->
<!-- ---------------------------------------------------------------------- -->
<form action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
<input type=hidden name="oid" value="SFDCidhere">
<input type=hidden name="retURL" value="http://">
<!-- ---------------------------------------------------------------------- -->
<!-- NOTE: These fields are optional debugging elements. Please uncomment -->
<!-- these lines if you wish to test in debug mode. -->
<!-- <input type="hidden" name="debug" value=1> -->
<!-- <input type="hidden" name="debugEmail" -->
<!-- value="emailaddresshere"> -->
<!-- ---------------------------------------------------------------------- -->
<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="company">Company</label><input id="company" maxlength="40" name="company" size="20" type="text" /><br>
<label for="phone">Phone</label><input id="phone" maxlength="40" name="phone" size="20" type="text" /><br>
Subject:<textarea id="00N1600000EgFuw" name="00N1600000EgFuw" rows="3" type="text" wrap="soft"></textarea><br>
Contact me:<input id="00N1600000EvgRY" name="00N1600000EvgRY" type="checkbox" value="1" /><br>
newsletter:<input id="00N1600000EvgRd" name="00N1600000EvgRd" type="checkbox" value="1" /><br>
<input type="submit" name="submit">
</form>
这就是SFDC的网络引导,现在似乎有效。
然而,他们有两个我不确定的问题,并希望得到以下方面的帮助:
1)新网站的规格要求返回页面是表单发送的页面(即没有重定向;我们打算做一个“谢谢”页面作为弹出窗口点击() - 如何通过API完成?我希望发送一个空的retURL值应该这样做,但我们只是回到一个带有salesforce.com URL的空白页面;
2)是否可以为两个复选框字段自定义“name”参数(如果没有,那么我们必须在Django模板中破解整个表单,而不能让Django本地渲染表单,因为你可以' t有一个模型表单字段名称以数字开头......)。这不是问题,但我想知道以备将来参考。
如果有人有任何见解,我很乐意听到并传递给他们!
非常感谢。
答案 0 :(得分:0)
不确定您的解决方案。
您可以使用Partner WSDL或Enterprise WSDL插入,更新,升级,删除数据的常用方法
Parnter WSDL: 不是来自您的salesforce组织的自定义,但它可能是获取数据的常用方法。
在python中你可以使用这个包 https://pypi.python.org/pypi/pyforce/1.4
并参考此 https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_partner.htm
Enterprise WSDL将显示您的salesforce组织状态(包括字段和对象)。但是你的一个对象或字段正在改变它可能是错误。
所以我建议使用api来控制重定向功能和动作。
答案 1 :(得分:0)
我的解决方法如下例所示
from captcha.fields import ReCaptchaField
from django.conf import settings
def set_field_html_name(cls, new_name):
"""
This creates wrapper around the normal widget rendering,
allowing for a custom field name (new_name).
"""
old_render = cls.widget.render
def _widget_render_wrapper(name, value, attrs=None):
return old_render(new_name, value, attrs)
cls.widget.render = _widget_render_wrapper
class WebToLeadForm(forms.Form):
# <keep all fields here>
# example field below
referred_by = forms.CharField(label="Referred By", required=False)
# The reCAPTCHA in this form uses keys from settings.
captcha = ReCaptchaField()
set_field_html_name(referred_by, settings.SF_REFERRED_BY)
settings.py SF_REFERRED_BY ='00xxxxxxxxxxxx'