
1.布置到云服务器
- 使用
python3 manage.py runserver
提示错误,需要将settings.py
中 ALLOWED_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()
时出现错误:
将models.py中的定义,class_id
改为class
ajax与form提交表单的不同
form提交的是request.body中的内容
ajex提交的是request.post中的内容Chrome调试中的坑
无法实时更新CSS/JS
按F12将缓存关掉
【调试了一下怎么改js都不对,这才发现原来是chrome的锅
8.两个div一换行 django 中取余运算
{% if forloop.counter|divisibleby:2 %}
<div class=”class1″></div>
{% else %}