django 开发笔记1

时间:2023-03-09 15:17:08
django 开发笔记1

1.布置到云服务器

  • 使用 python3 manage.py runserver提示错误,需要将settings.pyALLOWED_HOSTS 字典中加入 localhost;0.0.0.0;公网IP
  • 解决方法:使用 vim 命令修改文件vim -m settings.py:x 保存

    再使用 python3 manage.py runserver 0.0.0.0:8080 即可外网访问

2.访问数据库

  • 访问以id为名的数据库主键出现 'id' can only be used as a field name if the field also sets 'primary_key=True'
  • 解决方法:添加primary_key=True属性

3.获得get方法提交的参数

  • 直接打印request.META.QueryString显示没有属性,但通过print(vals(request))确实能看到这个属性
  • 解决方法

4.获取非 inputbox 、 select 等标签的value

$(#"name").attr("value")

5.删除记录时,某个字段是其他表的外键。

假设有student表,class表,student表中class_id为class表中id的外键,需要删除class中记录同时,删除student表中class_id=class.id的记录。

models.py中的定义为

Class Student(model):
class_id = models.ForeignKey(Patient,verbose_name="班级",on_delete=models.CASCADE)

执行Models.Class.object.filter(id=id).delete()时出现错误:

django 开发笔记1

models.py中的定义,class_id改为class

  1. ajax与form提交表单的不同

    form提交的是request.body中的内容

    ajex提交的是request.post中的内容

  2. Chrome调试中的坑

    无法实时更新CSS/JS

    按F12将缓存关掉

    django 开发笔记1

    【调试了一下怎么改js都不对,这才发现原来是chrome的锅

8.两个div一换行 django 中取余运算

{% if forloop.counter|divisibleby:2 %}
<div class=”class1″></div>
{% else %}