关于Django的一切

5 篇文章 0 订阅
1 篇文章 0 订阅
  • 这篇博客是记录一些使用Django开发要注意的小问题,没错,就是这样,是不是很简单。

model

时间model

分为三类:DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。这三个field有着相同的参数auto_now和auto_now_add。

auto_now无论是你添加还是修改对象,时间为你添加或者修改的时间。
auto_now_add为添加时的时间,更新对象时不会有变动。

datetime是日期加上时间,date只是日期,time只有时间。

Django的模板

直接渲染HTML代码

通常,我们在使用Django渲染HTML代码的时候会出现代码被转义的情况,不能出现我们理想的状态,去除转义的方法如下:

{% block main %}
    {{ content }}
{% endblock main %}
换成
{% block main %}
    {% autoescape off %}
        {{ content }}
    {% endautoescape %}
{% endblock main %}

Django中将数据传递到页面中的js内

仅需要注意两点

  • 记得将Python数据转成Json
return render(request, 'homepage/index_cn.html', {"patents": json.dumps(patents)})
  • 记得在页面获取Json数据的时候加上safe
var patents = {{ patents|safe }}

Django中的CSRF验证问题

  • 直接在表单下设置

Django模板

<form method="POST" action="/post-url/">
    {% csrf_token %} || 在jinjia2中使用{{ csrf_token }}
    <input name='zqxt' value="自强学堂学习Django技术">
</form>

jinjia2


<form method="POST" action="/post-url/">
    <input value="{{ csrf_token }}" style="display:none"></input>
    <input name='zqxt' value="自强学堂学习Django技术">
</form>  
  • ajax请求
$.ajaxSetup({
    data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});

Django中使用Jinji2将变量传递到js中

注意用”“将变量套起来

<script>
    let errcode = "{{ errcode }}"
   if(errcode == "1"){
       alert("此号码已经录入,请勿重复录入!")
   }
</script>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值