django、项目创建,虚拟环境搭建

Django

Django是一个用Python编写的开放源代码的Web应用框架(源代码是开源的,遵守BSD版权)。采用了MVC的框架模式,也有很多人把它称为MVT(MTV)模式。

安装Django:

pip3 install django==2.2 -i http://pypi.mirrors.ustc.edu.cn/simple/

这里使用-i选项更改了安装包的下载源地址,常用的国内python源:

 阿里云 http://mirrors.aliyun.com/pypi/simple/ 
 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 
 豆瓣(douban) http://pypi.douban.com/simple/ 
 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 
 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

MVC设计模式:

将界面展示,业务逻辑,数据等分开在不同的部件里,方便维护和降低风险
M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
V全拼为View,用于封装结果,生成页面展示的html内容。
C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果

django的MVT设计模式:

M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。 

linux中虚拟环境创建

使用virtualenvwrapper完成虚拟环境搭建

  1. 安装virtualenvwrapper:
sudo pip install virtualenvwrapper -i https://pypi.mirrors.ustc.edu.cn/simple/
  1. 配置虚拟环境

1.手动创建虚拟环境目录: mkdir ~/.virtualenvs
2.使用vim打开⽂件(或者使用linux自带的cat)vim ~/.bashrc
在文件末尾添加:
export WORKON_HOME=$HOME/.virtualenvs # 所有虚拟环境存储的⽬录 export
VIRTUALENVWRAPPER_PYTHON=/usr/local/python36/bin/python
指定python解释器,这里后面的地址需要填写linux上python解释器位置的绝对路径
source /usr/local/bin/virtualenvwrapper.sh
#执⾏virtualenvwrapper

  1. 安装脚本

    #让配置⽂件其⽣效
    source ~/.bashrc

虚拟环境相关部分命令:

命令 功能
mkvirtualenv 虚拟环境名 -p /usr/bin/python3.8(指定python解释器路径) 创建虚拟环境
rmvirtualenv 虚拟环境名 删除虚拟环境
workon 虚拟环境名 进入虚拟环境
deactivate 退出虚拟环境

快速导出/导入虚拟环境所需依赖:

将虚拟环境中用到的第三方包名写入到requerements.txt文件中 pip freeze > requirements.txt
安装requerements.txt文件中记录的第三方包 pip install -r requirements.txt
指定pip命令为一个超链接 指向pip3,即使用之后调用pip命令时会默认调用pip3命令 sudo ln -s pip3 pip

使用django命令创建项目
命令行:

django-admin startproject 项目名

pycharm:

file-->new project-->django-->输入项目目录-->选择解释器-->create创建

django项目配置文件:settings.py

使用django命令创建应用

python manage.py startapp 应用名

django创建项目流程

  1. 使用虚拟环境

    workon xxx

  2. 创建django项目:

    django-admin startproject xxx

  3. 创建django应用:

    python manage.py startapp xxx

    若使用pycharm打开项目 则继续配置django项目运行所需的虚拟环境:
    在file - settings - project - Python Interpreter - show all interpreter - 选择已经配置过的解释器

  4. 新建文件夹:

    模板文件夹:template
    静态资源文件夹:static

  5. 在Django项目中的__init__ 文件中添加:pymysql.install_as_MySQLdb()

    在右侧database中添加数据库对应连接配置
    连接数据库之后执行迁移:
    python manage.py migrate

项目创建之后,需要配置django的settings文件:

应用配置:
在django项目中的urls文件中添加:

re_path('应用路径',include('应用名.urls')

在APP下创建python文件urls.py
添加:

app_name = '应用路径别名'  
urlpatterns = [re_path('路径名/', views.视图函数名, name='路径别名') ,]

在settings中添加/修改相关配置

ALLOWED_HOSTS = ['*']
INSTALLED_APPS里添加创建的app/若需要使用rest_framework则需要添加rest_framework
MIDDLEWARE里添加创建的中间件
TEMPLATES-'DIRS': [os.path.join(BASE_DIR, 'templates')],
DATABASES里添加数据库的'NAME','USER','PASSWORD','HOST','PORT'
LANGUAGE_CODE = 'zh-hans' 语言编码
TIME_ZONE = 'Asia/Shanghai' 时区
USE_TZ = False
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]静态文件路径
FONT_PATH = os.path.join(BASE_DIR, 'static/font/...')字体文件位置
MEDIA_ROOT = os.path.join(BASE_DIR, '文件存放路径')"
#  rest_frame相关配置
REST_FRAMEWORK = {
     
   # Use Django's standard `django.contrib.auth` permissions,
   # or allow read-only access for unauthenticated users.
   'DEFAULT_PERMISSION_CLASSES': [
       'rest_framework.permissions.AllowAny'
   ]
}

在django中实现一个请求的步骤

  1. 在urls.py文件中的urlpatterns对象里添加一个path路径, 第一个参数传入url地址中的客户端会发来的请求信息, 第二个参数传入view.hello(APP/views.py文件里定义的函数,不要带括号)
  2. 在views中实现对应的视图函数
    # views中创建的函数,所需传入的第一个参数是request
    # 永远记得要返回Responce

请求流程:

从浏览器开始,到django中的url,到视图函数view,通过view操作model,再将操作的结果通过view返回response

Browser-urls-views-models-views-response

urls:
按照列表的书写顺序进行匹配的
从上到下匹配,没有最优匹配的概念
路由规则编写
通常指定直接指定以^开头
在结尾处直接添加反斜线/

若要在第一个参数路径中使用正则匹配,则需要使用re_path方法: re_path(r’正则规则’)

路由路径中的参数使用()进行获取
一对小括号对应视图参数中的一个参数

路径中的参数:
    位置参数
		按照书写顺序进行匹配
	关键字参数
    	按照参数名称匹配,和顺序无关
  参数个数和视图函数中参数个数需一致(除默认的request外)
urlpatterns = [
	path('hello', views.hello)
	re_path(r'hello', views.hello)
]

你可能感兴趣的:(django、项目创建,虚拟环境搭建)