本节介绍Django
简介,安装
基本配置及学习 路由(Urls)、视图(Views)、模板(Template)、Model(ORM)、
简介
Django 是一个由 Python 写成的开放源代码的 Web 应用框架。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。并于2005年7月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。由于 Django 的是在一个快节奏的新闻编辑室环境下开发的,它的目的是使常见的 Web 开发任务,快速和容易。
A、特点
B、MVC设计模式
C、安装
# pip 安装 pip3 install Django # 克隆下载最新版本 git clone https://github.com/django/django.git # 导入django模块 >>> import django >>> print(django.get_version()) 1.10
基本配置
A、常用命令
- IDE创建Django程序时,本质上都是自动执行下述命令
- 如下是在终端执行
# 查看django版本 $ python -m django --version # 创建项目,名为mysite $ django-admin startproject mysite # Django项目环境终端 $ python manage.py shell # 创建应用程序,确保和 manage.py 是同一目录 $ python manage.py startapp polls # 启动django $ python manage.py runserver $ python manage.py runserver 8080 $ python manage.py runserver 0.0.0.0:8000 # 运行创造模型变化迁移 $ python manage.py makemigrations # 运行应用模型变化到数据库 $ python manage.py migrate # 同步数据库 $ python manage.py syncdb # 清空数据库(保留空表) $ python manage.py flush # admin创建管理员用户 $ python manage.py createsuperuser # 修改用户密码 $ python manage.py changepassword username
注:自动重新加载 runserver,根据需要开发服务器自动重新加载Python代码为每个请求。您不需要重新启动服务器代码更改生效。然而,像添加文件某些操作不触发重新启动,所以你必须重新启动在这些情况下的服务器。
程序基本目录结构及作用:
mysite/ # 项目的容器,名称自定义 manage.py # 命令行实用工具,以各种方式与该Django项目进行交互 mysite/ # 实际的Python项目 __init__.py # 空文件,导入不出错 settings.py # 这个Django项目配置 urls.py # 这个Django项目的URL声明; 一个Django驱动网站的“目录” wsgi.py # 一个入口点为WSGI兼容的Web服务器,以满足您的项目
B、配置文件
1、静态文件
# 在settings里修改添加,放css,js,image等文件 # 创建static文件夹 STATIC_URL = '/static/' # 相当于别名 STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), ) # 如引用Jquery文件,有俩种形式 1、 直接引入 2、 {% load staticfiles %} {% static '文件名' %} # 推荐使用第二种形式,第一条代码并处理引入文件代码的上方 # 再每个app里面我们可能会有多个文件配置信息,则可以相应的将文件夹放在app的文件夹下,并修改路径。
2、模板
# 在settings里修改,放html文件 TEMPLATE_DIRS = ( os.path.join(BASE_DIR,'templates'), )
3、数据库
# django支持sqlite,mysql, oracle,postgresql数据库 # django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3 # 由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替 # 设置放置的与project同名的配置的 __init__.py文件中 import pymysql pymysql.install_as_MySQLdb() # 在settings 中修改DATABASES DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dbname', # 数据库名称 'USER': 'root', # 用户名 'PASSWORD': 'xxx', # 密码 'HOST': '', # IP,留空默认localhost 'PORT': '', # 端口 } }
# 注意1: # 为了后端的更改不会影响前端的引入,避免造成前端大量修改 STATIC_URL = '/static/' # 引用名 STATICFILES_DIRS = ( os.path.join(BASE_DIR,"statics"), # 实际名 ,即实际文件夹的名字 ) # django对引用名和实际名进行映射,引用时,只能按照引用名来,不能按实际名去找 # <script src="/statics/jquery-3.1.1.js"></script> # ------error-----不能直接用,必须用STATIC_URL = '/static/': # <script src="/static/jquery-3.1.1.js"></script> # 注意2(statics文件夹写在不同的app下,静态文件的调用): STATIC_URL = '/static/' STATICFILES_DIRS=( ('hello',os.path.join(BASE_DIR,"app01","statics")), ) # <script src="/static/hello/jquery-1.8.2.min.js"></script> # 注意3: STATIC_URL = '/static/' {% load staticfiles %} # <script src={% static "jquery-1.8.2.min.js" %}></script> # 注意4: 配置STATIC路径时,记得要最后一个元组后面加逗号,不然会影响渲染