- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚使用 Ajax
将 Mailchimp
集成到我的 Django 项目中。电子邮件地址字段工作正常,我能够在我的 Mailchimp 列表和数据库中获取电子邮件。现在,当我尝试添加一个字段,让用户将他的名字添加到表单中时,我不断收到如下错误,例如: from .utils import SendSubscribeMail
..
文件“C:\Users\locq\Desktop\Coding\SEARCH_APP\venv\src\search\utils.py”,第 8 行
self.fname = fname
^
TabError:缩进中制表符和空格的使用不一致
那么如何添加 FNAME 字段并在提交时将数据发送到 mailchimp?
这是我的代码:
在我的 Settings.p 中,我在底部添加了我的 Mailchimp 凭据,如下所示:
MAILCHIMP_API_KEY = '767ba************-us6'
MAILCHIMP_SUBSCRIBE_LIST_ID = '45c*******'
我创建了一个 utils.py 文件来使用 Threading、Mailchimp 包并从设置中导入我的凭据:
import threading
import mailchimp
from django.conf import settings
class SendSubscribeMail(object):
def __init__(self, email, fname):
self.email = email
self.fname = fname
thread = threading.Thread(target=self.run, args=())
thread.daemon = True
thread.start()
def run(self):
API_KEY = settings.MAILCHIMP_API_KEY
LIST_ID = settings.MAILCHIMP_SUBSCRIBE_LIST_ID
api = mailchimp.Mailchimp(API_KEY)
try:
api.lists.subscribe(LIST_ID, {'email': self.email}, merge_vars={'FNAME': self.fname}, double_optin=False)
except:
return False
自定义 Def 来获取输入名称:
def subscribe(request):
if request.method == 'POST':
fname = request.POST['fname_id']
Subscribe.objects.create(fname_id = fname)
email = request.POST['email_id']
email_qs = Subscribe.objects.filter(email_id = email)
if email_qs.exists():
data = {"status" : "404"}
return JsonResponse(data)
else:
Subscribe.objects.create(email_id = email)
SendSubscribeMail(email, fname) # Send the Mail, Class available in utils.py
return HttpResponse("/")
我用来在数据库的订阅表中添加电子邮件(和 fname)的 models.py:
class Subscribe(models.Model):
email_id = models.EmailField()
fname_id = models.CharField(max_length=255, blank=True, null=True, default='')
timestamp = models.DateTimeField(auto_now=True)
def __str__(self):
return self.email_id
我的 html 表单:
<div class="signup subs-form">
<div class="header">
<p>Sign Up For Beta</p>
</div>
<div class="description">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna.</p>
</div>
<form method="POST" id="subscribe" class="subs-form">
{% csrf_token %}
<div>
<input type="email" class="button-" id="email" name="email_id" placeholder="E-mail">
<div class="input">
<input type="text" class="button-" id="fname" name="fname_id" placeholder="First Name">
<input type="submit" class="button-" id="submit" value="Join">
</div>
</div>
</form>
</div>
最后,这是我页面底部的 Ajax 代码:
$('#subscribe').submit(function(e){
e.preventDefault();
var email_id = $("#email").val();
if(email_id){
var csrfmiddlewaretoken = csrftoken;
var fname_id = $("#fname").val();
var email_data = {"email_id": email_id,
"fname_id": fname_id,
"csrfmiddlewaretoken" : csrfmiddlewaretoken};
$.ajax({
type : 'POST',
url : '/subscribe/',
data : email_data,
success : function(response){
$('#email').val('');
if(response.status == "404"){
alert("This Email is already been subscribed!");
}
else{
alert("Thank you for Subscribing! Please Check your Email to Confirm the Subscription");
}
},
error: function(response) {
alert("Sorry Something went Wrong");
$('#email').val('');
}
});
return false;
}
else{
alert("Please provide correct email!");
}
});
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
var csrftoken = jQuery("[name=csrfmiddlewaretoken]").val();
function csrfSafeMethod(method) {
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
})
我怎样才能实现这个目标?
最佳答案
根据 python 文档,python 不能混合制表符和空格进行缩进,并且根据 PEP-8,每个缩进级别应使用四个空格。当我尝试这样做时,这是真的:
>>> for i in range(20):
'indent with tabs'
'indent with spaces'
SyntaxError: inconsistent use of tabs and spaces in indentation
如果您有一个 python IDE,不仅仅是将它们写入记事本或 TextEdit,它还应该将每个制表符转换为四个空格,或者(不推荐,因为 PEP-8)每 4 个四个空格转换为一个制表符。
编辑:您可以使用 Ctrl+H
组合查找/替换每个制表符 4 个空格(这不会影响您的实际代码;字符串中的制表符应为 '\t '
)
关于python - 选项卡错误: inconsistent use of tabs and spaces in indentation - Integration MailChimp Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56193730/
获取错误 ORA-00932: inconsistent datatypes: expected CHAR got NUMBER 00932. 00000 - "inconsistent dataty
我的main.sass中有这个: #thing { -moz-box-sizing: border-box; -webkit-box-sizing: border
在 Python 中,为什么 [:] 切片操作的行为不一致? 它对于列表和字符串的行为有所不同。 对于列表,它给出一个副本列表对象,对于字符串,它给出相同的字符串对象。 我觉得这令人困惑,违反直觉。有
在检查和测试正则表达式的各个方面时,我偶然发现了一种奇怪且“不一致”的行为。我试图在正则表达式中使用一些代码,但同样的行为也适用于使用 void 代码块。 尤其是最让我感动的是,当我互换 :g 和 :
已连接两个支持蓝牙的设备。一个通过outputStream向另一个发送周期性时间戳(writeTime),另一个通过inputStream检索writeTimes并附加自己的时间戳(readTime)
我有以下距离矩阵: delta = [[ 0. 0.71370845 0.80903791 0.82955157 0.56964983 0. 0.
我正在使用 recyclerView 并将数据加载为 arrayList。如果 arrayList 少于 7 个项目,则不会发生崩溃。 否则,我会遇到这个 fatal error : java.lan
为什么结果是: double a = 0.0/0.0; double b = 0/0.0; = NaN 但是结果例如: double e = 0.1/0.0; double e = 12.0/0.0;
这是我的 Java 1.6 类: public class Foo { private ArrayList names; public void scan() { if (names
我正在制作一个使用 encog 预测足球比赛结果的程序。我创建了一个神经网络,使用弹性传播训练方法使用 90 场比赛的数据对其进行训练。我将比赛结果标记为 1 表示主场获胜,0 表示平局,-1 表示客
我正在向我的 App 类中正在进行的 WPF 应用程序添加一些可绑定(bind)的 CLR 属性,但由于这个不一致的可访问性错误,我无法编译。 Inconsistent Accessibility:
我正在尝试使用带有以下参数的 solve.QP 函数(来自 quadprog 包)运行优化 R = matrix( c( 2.231113e-05,-4.816095e-05,-5.115287e-0
我的 solr 架构中有以下两个字段: 当我在启用 facet 的情况下发出请求(faceting on brand_id) http://example.com/solr/select?wt=j
我在 UIView 上有一个 UIButton。我想以编程方式确定显示 View 时在按钮内显示哪个图像。我已经重写了 UIView 中的 drawRect 方法并使用 setImage 来显示所需的
在常规中: println 'test' as Boolean //true println 'test'.toBoolean() //false println new Boolean('test'
例如,在 message.properties 中空白字段的默认 i18n 消息是: default.blank.message=Property [{0}] of class [{1}] canno
我正在尝试使用 array_multisort() 在其子数组的基础上对数组进行排序功能...... 在尝试的同时; print_r($mar); echo ''; $arr2 = array_mul
我正在使用 MALLET 来训练 ParallelTopicModel。训练后,我得到一个 TopicInferencer,取一个句子,通过推理器运行 15 次,然后检查结果。我发现对于某些主题,每次
1) 为什么在 JavaScript 中存在这种不一致 - 我期望第四行也返回 11: (function(n, m) { n = n + m; return n })(3, 8)
上下文: 我有一个小部件,它基本上由一个包装了一堆 TextView 的 RelativeLayout 组成。这是我希望小部件的外观,然后是 XML 布局代码: 问题:我
我是一名优秀的程序员,十分优秀!