{% autoescape off %} {{ blog.0.content }} {% endautoescape %}
- {{ blog.0.create_date | date:"F j, Y"}}
-
评论 {{ blog.1 }}
15.在引用一些插件的js时候,发现一直报错,检查不出错误时候,请注意一些js引用的顺序问题;一般情况jQuery的引用发在最前面
16.在Django进行数据库数据插入涉及外键,数据插入一直报错,控制台报错为:
INTERNAL SERVER ERROR
;解决方案:
1.打印输出传入的值,打印输入为[{'username': 'hdq'}]
,说明获得值的方式有问题如果是采用filter获得值,则改为get。使用filter取得的数据为列表类型(可直接采用if 列表来判断是否为空),使用get则得到一个对象
2.将整个获得的model直接传入(并不需要获得id,在将id传入)17.在Django ajax提交出现点击一次提交,却出现了数据提交两次
解决方案:
1.不使用type为submit类型的按钮,而是采用type是button的按钮;因为submit有默认提交的行为
2.在函数的最后一行返回return false
即可18.在Djano模板 实现奇偶计数判断
解决方案:
{%if forloop.counter|divisibleby:2 %}
19.在Django开发中要注意链接问题直接上代码
代码
html页面
{# /blog/send_email/ 注意‘/’,因为这个‘/’,views一直取不到值#}
url: ‘/blog/send_email/’,20.在进行邮件(采用STMP)发送模块开发需要注意
- 先确定自己是否要自己搭建STMP服务器,一般是使用已有的大公司服务器(个人采用QQ的)
- 确定好所使用的STMP服务器之后,要确定好发送方,接受方。一般为了保护用户隐私,可在代码中嵌入第三方代发邮件。
- 在使用先对应的服务器必须确定相应的端口号
- 在邮件发送的时候要注意去配置STMP的服务,在配置生成动态码,用在口令中
直接上代码:
# 邮件发送 def send_email(request): message = '发送失败' if request.method == 'POST': if request.is_ajax(): name = request.POST['name'] email = request.POST['email'] title = request.POST['title'] content = request.POST['contact'] sender = '********@qq.com' print(sender) content = content + ";回复联系:" + email # 接受邮件 receivers = ['********@qq.com'] # 第三方服务 mail_host = "smtp.qq.com" # 设置服务器 mail_user = "********@qq.com" # 用户名 mail_pass = "********" # 口令 # 邮件内容 message_email = MIMEText(content, 'plain', 'utf-8') message_email['Form'] = Header(name, 'utf-8') message_email['To'] = Header('凌尘', 'utf-8') message_email['Subject'] = Header(title, 'utf-8') try: sftp_email = smtplib.SMTP_SSL(mail_host) sftp_email.set_debuglevel(1) sftp_email.ehlo(mail_host) sftp_email.login(mail_user, mail_pass) sftp_email.sendmail(sender, receivers, message_email.as_string()) print('邮件发送成功') except smtplib.SMTPException: print("Error: 无法发送邮件") message = '发送成功' return HttpResponse(message) else: return HttpResponse(message) else: return HttpResponse(message)
{% endif %}