Django 笔记(来源于讲师)以及常见问题的解决
写1.Django加载静态文件
1.首先在项目的根目录下,新建static文件夹
2在settings.py中加入这两句话。表明从项目的跟目录找static文件夹
3.在HTML文件中导入{% load staticfiles %} 并且做出以下修改
2.快速将HTML文件返回到页面中。(这种做法并不用先去View函数)
3.安装Pillow 图像处理库
Pillow中最重要的类就是Image,该类存在于同名的模块中。可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片。
4.配置Template中的HTML文件放到相对路径下,而不是绝对路径。
5.Django中将sqlite3数据库换成Mysql数据库方法
1.将settings配置中改为
2.安装mysql驱动
安装Mysql驱动详见: http://blog.csdn.net/u012882134/article/details/51934165
安装该下载文件 即可解决
6.Django 中数据库常用类型
# models.ForeignKey 外键
# models.DataTimeField 时间类型
# models.IntegerField 整型
# models.IPAddressField IP类型
# models.FileField 文件上传类型
# models.ImageField 图片类型
models.TextField 文本类型
models.CharField 字符串类型一般都在创建时写入max_length参数。设置可以为空和设置默认值 null = True, blank=True, default = ''
models.EmailField 邮箱类型
models.URLField url类型 存储URL的字符串,默认长度200;verify_exists(True),检查URL可用性
可以自定义主键
7.model中继承原有的user 字段
7.web攻击与防范
1.sql注入攻击与防范
sql注入危害
1.非法读取、篡改、删除数据库数据
2.盗取用户各类敏感信息获取利益
3.通过修改数据库来修改网页内容
4.注入木马等等
注入方法: 比如直接在form表单或者是URL中写sql语句。
2.xss攻击的原理与防护
xss 跨站脚本攻击(Cross Site Scripting)的危害
1.盗用各类账号、如用户网银账号、各类管理员账号
2.盗用企业具有商业价值的资料
3.非法转账
4.控制受害者机器向其它网站发起攻击、注入木马等。
csrf 攻击与防护
8.Django Ajax 请求后端
1.HTML
<div id = 'message' style="margin-top: 500px;">Initial text</div>
2.JS
<script> $(document).ready(function() { $("#message").click(function(){ $.ajax({ cache: false, type: "POST", url:{% url 'edit_favorites' %}, data: { 'video': $('#test').val() // from form }, async:true, beforeSend:function(xhr, settings){ xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}"); }, //CSRF必须加上 success: function(){ $('#message').html("<h2>Contact Form Submitted!</h2>") } }); return false; //<---- move it here }); }); </script>
3. URL配置
url(r'^edit_favorites/', edit_favorites, name='edit_favorites'),
4.View函数配置
def edit_favorites(request): if request.is_ajax(): #判断请求是否是ajax if request.method == 'GET': #判断是否是get message = "Yes, AJAX is get!" elif request.method == 'POST': #判断是否是post message = 'Yes, AJAX is post' else: message = "Not Ajax" return HttpResponse(message)
5.Django新建字段连接User找到不到user_id
应该在model的外键对应的数据库字段的属性名后面 加_id
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通