Django基础操作
1、创建虚拟环境(virtualenv和virtualenvwrapper)
1.1.更新pip (如果pip版本高于9.0则不需要更新):
a.更新pip3: pip3 install --upgrade pip
b.更新pip: pip install --upgrade pip
1.2.虚拟环境virtualenv 和 virtualenvwrapper 的安装和使用
a.安装虚拟环境:pip install virtualenv(virtualenvwrapper-win)
b.创建虚拟环境:mkvirtualenv env1(虚拟环境名称)
c.退出虚拟环境:deactivate
d.查看虚拟环境:workon
e.进入虚拟环境:workon 虚拟环境名称
f.删除虚拟环境:rmvirtualenv 虚拟环境名称
2、安装Django
2.1.安装
pip install django==1.11(==1.11是指定版本, 如不写则会安装最新版本)
2.2测试是否安装成功
进入python环境:
import django
django.get_version()
3、创建一个Django项目
3.1.创建
进入到指定要存放项目的目录,执行 django-admin startproject xxx 来创建一个名字为xxx的工程.
3.2.默认目录结构结束
a. manage.py:是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等都是通过本文件完成。
b. init.py:告诉python该目录是一个python包,暂无内容,后期一些工具的初始化可能会用到
c. settings.py:Django项目的配置文件,默认状态其中定义了本项目引用的组件,项目名,数据库,静态资源等。
d. urls.py: 维护项目的URL路由映射,即定义当客户端访问时由哪个模块进行响应。
e.wsgi.py:定义WSGI的接口信息,主要用于服务器集成,通常本文件生成后无需改动。
4、测试服务器启动
4.1启动
python manage.py runserver [ip:port]
4.2 ip和端口
a.可以直接进行服务运行 默认执行起来的端口是8000
b.更改端口:当本地默认端口被占用时,python manage.py runserver 指定的端口号
c.更改ip:当希望其他电脑开发者访问对应的ip及端口:
1)在settings.py中设置ALLOWED_HOSTS=[’*’];
2)外网或者局域网电脑上可以用其它电脑查看开发服务器,访问对应的 ip加端口,比如 10.36.132.2:8000
5、创建应用(APP)
5.1创建
python manage.py startapp 应用名称
5.2应用默认目录介绍
a. init.py:其中暂无内容,使得app成为一个包
b. admin.py:管理站点模型的声明文件,默认为空
c. apps.py:应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据
d. models.py:添加模型层数据类文件
e. views.py:定义URL相应函数
f. migrations包:自动生成,生成迁移文件的
g. tests.py:测试代码文件
5.3 应用注册
在工程目录下的settings.py中的INSTALLED_APPS选项中添加应用,直接添加:‘应用名称’,注意在添加前使用英文逗号与之前已存在的内容隔开。
6、定义模型(models.py)
6.1 默认导入from django.db import models
6.2 创建自己的模型类
a.建立并继承models.Models(必须继承才能成为模型生成表,否则为一个普通的类)
class 模型名称(models.Model):
b.建立表结构,如:
name = models.CharField(max_length=20)
6.3 ORM(数据库)对应关系介绍
类结构 => 表结构
类属性=>表字段
对象 => 表的一条记录
注意:a. models.py一旦进行了编辑修改,就需要执行数据迁移
b.模型中如果不设置主键,在数据迁移完成后会在表中自动添加id主键
7、数据迁移
7.1.迁移的概念: 就是将模型映射到数据库的过程
7.2.生成迁移文件:python manage.py makemigrations
7.3.执行迁移:python manage.py migrate
7.4.便捷操作:选择顶部导航栏Tools=>Run manage.py Task=>在窗口下方会生成一个对话窗,输入makemigrations生成迁移文件,输入migrate执行迁移
8、基本视图(views.py)
8.1. 在views.py中建立一个路由响应函数
from django.http import HttpResponse
def welcome(request):
return HttpResponse(‘HelloDjango’);
8.2. 完成之后,在urls中进行注册,有以下两种情况:
a.直接在工程目录下的urls.py文件进行注册;
from App import views
url(r’^welcome/’,views.welcome)
当应用有多个时,一般使用别名
from App import views as app
url(r’^welcome/’,app.welcome)
b.基于模块化的设计,通常在每个App中定义自己的urls,在工程项目的urls.py中将自定义的urls包含进来
1)在App应用目录下创建一个urls.py文件
2)在新建立的urls.py文件中对已建立的视图函数进行注册
from django.conf.urls import url
from .views import *
urlpatterns = [
url(r’^welcome/’,welcome,name=‘welcome’),
]
3)将自定义的urls.py文件与工程目录下的urls.py进行关联
from django.conf.urls import url,include
urlpatterns = [
url(r’^welcome/’,include(‘App.urls’,namespace=‘App’)),
]
注:在include中需要使用namespace给路由建立一个别名,其他情况使用name给路由建立别名。
9、基本模板(templates)
9.1 模板实际上就是我们用HTML写好的页面
9.2 在应用中创建模板文件夹templates,或者直接使用项目下的templates文件夹,在模板文件夹中创建模板HTML文件
9.3 在views中去加载渲染模板, 使用render函数: return render(request,‘xxx’)
10、基本流程图
基本流程图(重点掌握)
ates)
9.1 模板实际上就是我们用HTML写好的页面
9.2 在应用中创建模板文件夹templates,或者直接使用项目下的templates文件夹,在模板文件夹中创建模板HTML文件
9.3 在views中去加载渲染模板, 使用render函数: return render(request,‘xxx’)
10、基本流程图
基本流程图(重点掌握)