django ajax 简书,django 小记

本文介绍了如何在Django中进行异常捕获,特别是在查询结果不存在时处理xxDoesNotExist异常。同时,详细阐述了Django静态文件的配置步骤,包括在settings.py中添加静态文件应用、设置STATIC_URL和STATICFILES_DIRS,以及在urls.py中整合staticfiles_urlpatterns。此外,还提到了在模板中加载staticfiles以及处理文件流的方法,并强调了在修改models.py后更新sqlite3数据库的重要性。对于Django与前端AJAX交互,文章展示了以文件流形式返回响应内容的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学会异常捕获

当程序出现问题时,学会使用异常捕获,such as:查询结果集中没有想要的查的对象或字段,返回xxDoesNotExist,这时就可以捕获这个异常,进行下一步处理。

django静态文件

1-1. 在settings.py文件中找到INSTALLED_APPS,加入‘django.contrib.staticfiles’

1-2. 在TEMPLATE_CONTEXT_PROCESSORS中加入 'django.core.context_processors.static'

TEMPLATE_CONTEXT_PROCESSORS = (

'django.core.context_processors.debug',

'django.core.context_processors.i18n',

'django.core.context_processors.media',

'django.core.context_processors.static',

'django.contrib.auth.context_processors.auth',

'django.contrib.messages.context_processors.messages',

)

1-3. setting.py中加入templates_url

STATIC_URL = '/static/'

STATICFILES_DIRS = (

os.path.join(BASE_DIR, 'static/'),

# '/var/www/static',

)

在urls.py中加入

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns += staticfiles_urlpatterns()

需要注意的是,上面代码的第一行必须放在整个urls文件的第一行,上面代码的最后一行必须放在urls文件的最后一行。

在templates中加入:

{% load staticfiles %}

小细节

在改变models.py的时候要重新生成sqlite3,不然可能更新不了

在django查询结果集中可以用xx.order_by(’yy‘)按字段 ’yy‘ 排序

在django中,与前端ajax交互的时候,可以以文件流的形式返回一个参数,django 在返回页面是返会的都是Response对象,可以当成文件流来操作

res = HttpResponse()

with open('static/html/resume_detail.html') as f:

res.write(f.read())

return res

在操作文件流时可以用with,作用范围就在with下的函数块内,当然如果你记得close()也可以不用

with.....as ....:

xxxxx

在接收前端传回的数据时注意检查传过来的数据类型

request.POST.getlist()#list ajax在传数组的时候会在后面加’[]‘,接收的时候要在键的后面加’[]‘

request.POST.get()#json 要先用json.loads()转换json对象

字符串转换为字典:

>>> a = '{'a':1,'b':2}'

>>>type(a)

'unicode'

>>>d = eval(a)

{'a':1,'b':2}

>>>type(d)

'dict'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值