01-Django介绍和安装
01-Django介绍和安装
1.Django介绍
1.1介绍
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M(Model),视图V(View)和控制器C(Controller)。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
1.2历史版本
自从1.0版本开始,Django按照以下形式命名版本编号:
按照A.B或A.B.C的形式命名版本编号。A.B是主版本号,包含新功能以及对原有功能的改进,每一个新版本都向前兼容,Django大概每8个月就会发布一个主版本;C是小版本号,包含bug的修改等,每当有需要时就会发布。在Django正式版本发布之前,还会发布alpha、beta和RC版本。另外Django长期支持的版本用LTS表示。
Django推荐使用Python 3进行开发,而最后一个支持Python 2.7的版本是Django 1.11 LTS。
2.Django的安装
2.1使用版本及安装
pip3 install django==1.11.11
2.2Django目录介绍
project和app的关系,一个项目一般包含多个应用,一个应用也可以用在多个项目中
│ db.sqlite3 │ manage.py # 管理文件 ├─app01 # app目录 │ │ admin.py # 后台,可以用很少量的代码就拥有一个强大的后台。 │ │ apps.py │ │ models.py # 与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候,可以不使用。 │ │ tests.py │ │ views.py # app的视图文件 │ │ __init__.py │ │ │ └─migrations # │ __init__.py │ ├─mysite # 项目名称 │ │ settings.py # 配置文件 │ │ urls.py # 路由 --> URL和函数的对应关系,网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。 │ │ wsgi.py # runserver命令就使用wsgiref模块做简单的web server │ │ __init__.py # 一空文件,告诉Python把mysite目录看成一个模块。 │ ├─static # 静态文件实际保存的目录,在HTML文件中使用的那个名字 └─templates # views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
3.Django常用命令
3.1创建项目
# windows django-admin startproject projectname # projectname为自定义项目名称 # linux django-admin.py startproject projectname
3.2创建应用
要先进入项目目录下,然后执行下面两个命令均可
# windows python manage.py startapp appname django-admin startapp appname # linux python manage.py startapp appname django-admin.py startapp appname
3.3创建数据库或更改数据库表或字段
# 1. 创建更改的文件 python manage.py makemigrations # 2. 将生成的py文件应用到数据库 python manage.py migrate # 3.清空数据库 python manage.py flush
3.4导出数据导入数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
3.5项目运行
python manage.py runserver # 当提示端口被占用的时候,可以用其它端口: python manage.py runserver 8001 python manage.py runserver 9999 (当然也可以kill掉占用端口的进程,具体后面有讲,此处想知道的同学可查下 lsof 命令用法) # 监听机器所有可用 ip (电脑可能有多个内网ip或多个外网ip) python manage.py runserver 0.0.0.0:8000 # 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器 # 访问对应的 ip加端口,比如 http://172.16.20.2:8000
3.6命令帮助
python manage.py