一、概述
什么是Django?
基于的python的高级web开发框架(类比Java的spring等)
二、环境搭建
环境要求:python + Django
Python与Diango版本匹配:https://www.runoob.com/django/django-tutorial.html
使用pip安装Django:
安装较慢容易失败,请使用豆瓣的镜像:
pip install django==1.11.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
检测是否安装成功:
python -m django --version
这样就成功安装了
三、创建项目
安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin。我们可以使用 django-admin 来创建一个项目:
在想创建的目录下按住shift + 右键进入cmd,执行命令:
django-admin startproject myblog
这样就创建了一个名为myblog的项目
其中,目录下的manage.py是个很有用的工具,可以把它当作项目管理器,作为项目和命令行的衔接口:
它可以用来启动内置的服务器:
python3 manage.py runserver [8000]
python manage.py runserver [8000]
默认端口是8000,可以手动指定端口
关闭命令行窗口(linux : Ctrl + C)即可停止服务器
注意:
本机安装的conda出现执行上述命令无反应
解决方式:程序中进入 conda的prompt,切换目录再执行:
这样,连接就能正常访问了!
再一个重要的文件是项目的配置文件:settings.py
https://zhuanlan.zhihu.com/p/50308750
四、创建应用
参考第三章,在同级目录使用命令创建应用:
python manage.py startapp blog
然后在settings.py中INSTALLED_APPS添加这个应用
在blog的views下创建第一个页面响应:
在urls中配置链接:
重新启动,访问地址:
五、模板
上述第四节中返回文字当然是不合实际情况的,正常应该是返回页面的
还有一个要改进的是URL的配置,因为像上面的配置文件,明显可以看到,所有url都放根目录的话,如果有10个应用,每个500URL,那URL
将会非常多,而且也容易重名,所以我们采取注释中,第二种形式:include
总urls的改造:
在blog应用下再新建urls.py文件进行配置:
这样,访问/blog/index即可!
模板语言
Django有内置的模板引擎,称之为DTL,这和Java的模板引擎是类似的,当然,著名的还有第三方模板引擎:Jinja2
在settings中配置即可:
模板语言的语法大同小异,这里不再赘述:https://www.runoob.com/django/django-template.html
实际操作步骤:
在blog这个APP下创建目录:templates,用于放html文件
在此目录下创建HTML文件:index.html
在views.py中使用reder()函数渲染:
return render(request, 'hello.html', context)
通常前两个是必须的,最后一个是字典,用于返回前端的值(名代表参数名,值代表参数值)
再访问/blog/index即可查看效果!
// 有时候可能有不同应用的重名html文件冲突问题,解决办法:在templates下再新建一个和APP同名的目录,将HTML文件放入即可
六、模型
通常情况下,一个模型Model对应数据库的表,在Python中以类来表示,通过操作对象来操作数据
内置的ORM框架给开发带来了不少的便利(当然,隐藏SQL是否真的好因人而异)