在Django EmailMultiAlternatives文档中,没有关于如何添加诸如"format"或"Reply-To"之类的标题EmailMultiAlternatives.我花了一段时间才弄清楚,我发送这篇文章是为了帮助其他人节省时间.
正如您在django的源代码中所看到的,EmailMultiAlternatives继承自EmailMessage,因此它们在init构造函数中采用相同的参数.这样,我们可以添加如下标题:
msg = EmailMultiAlternatives(
subject, message, from_email, to_list,
headers={'Reply-To': "email@example.com", 'format': 'flowed'}
)
Run Code Online (Sandbox Code Playgroud) 我有一个表格:
<form name="char-add" id="char-add" action="added.php" method="post"
onsubmit="charAddValidate()">
<input type="text" name="Name" id="Name" onkeyup="charNameSelected()" autocomplete="off" />
</form>
Run Code Online (Sandbox Code Playgroud)
charNameSelected() 只需在框中输入内容时显示下一个div.
然后一些作用于表单的Javascript代码:
function charAddValidate() {
x = document.forms["char-add"]["Name"].value;
if (x == "" || x == null) {
alert("Name is required");
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
代码工作,如果名称留空,它确实给出了警告框,但如果我确定,它仍然继续提交表单,导致我的PHP验证错误;)
我哪里出错了(我希望它在js验证失败时不提交页面).我知道我可能错过了别人明显的东西:)
我试图让我的第一个Django项目在Windows上运行,但是我收到一条错误消息:
File "c:\users\[username]\appdata\local\temp\easy_install-pazcre\MySQL_python-1.2.3-py2.7- win32.egg.tmp\MySQLdb\connections.py", line 187, in __init__ mysql_exceptions.OperationalError: (1045, "Access denied for user 'django_user'@'localhost' (using password: YES)")
Run Code Online (Sandbox Code Playgroud)
我从命令行创建了我的数据库:
-- create the database
CREATE DATABASE GlobalXdb CHARACTER SET utf8;
-- create user
CREATE USER 'django_user'@'localhost' IDENTIFIED BY 'thepassword';
-- give user permissions to db
GRANT ALL ON django.* TO 'django_user'@'localhost'
Run Code Online (Sandbox Code Playgroud)
我的settings.py文件包含:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'GlobalXdb', # Or path to database file if using sqlite3.
'USER': …Run Code Online (Sandbox Code Playgroud) 在dir()一类可以通过创建它返回一个用户自定义列表中的特殊功能进行自定义,那么为什么它不能维持我指定的顺序?这是一个例子:
>>> class C(object):
... def __dir__(self):
... return ['a', 'c', 'b']
...
>>> c = C()
>>> dir(c)
['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
为什么dir()看似排序我的清单并返回['a', 'b', 'c']而不是['a', 'c', 'b']?
奇怪(对我来说),直接调用成员函数会得到预期的结果:
>>> c.__dir__()
['a', 'c', 'b']
Run Code Online (Sandbox Code Playgroud) python ×3
django ×2
email ×1
forms ×1
header ×1
javascript ×1
mysql ×1
smtp ×1
syncdb ×1
validation ×1