Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)
1、虚拟环境搭建
创建新的Django框架的虚拟环境:
注意:如果没有pipenv指令,需要安装这个支持库,同时需要记住配置它的环境变量,否则虚拟环境会安装在默认文件夹下(一般是C:\Users\Administrator.virtualenvs)
# Windows安装pipenvpip install pipenvpipenv shell # 进入虚拟环境
exit # 退出虚拟环境
pipenv --rm # 删除整个环境 不会删除pipfile
Window系统安装Django 2.2(注意要在虚拟环境下)
# Window系统安装Django 2.2
pycharm设置python解释器
2、MVC思想与Django的MVT区别
在Django框架中,将Controller改换成Templates模板,就成了MVT,但是在Django中的View视图负责的功能就是MVC思想中Controller的功能。
3、Django项目的创建
1. 命令行创建
推荐使用命令行创建项目的方法
# 进入虚拟环境,xxx是自己创建的虚拟环境文件夹
cd /d xxx
pipenv shell# 查看虚拟环境python的版本,需要是3.6的
python# 创建项目:打开终端,使用命令:
django-admin startproject [项目名称] 比如:django-admin startproject first_project。
注意:项目名称注意尽量不要有中文,项目路径也尽量不要有。
2. Pycharm专业版创建Django
需要使用Pycharm Professional版本的,社区版本无法创建。
Pycharm专业版本激活方法参考:https://shimo.im/docs/DJ3h3tJv98ppTYyH/read
4、运行Django项目
1. 命令行运行项目
# 启动Django项目
python manage.py runserver# 如果想要在项目启动的时候指定端口,可以执行
python manage.py runserver 8888
# 此时就可以使用http://127.0.0.1:8888/ 端口进行访问Django
上图中有红色部分提醒信息是因为有些Django默认的信息我们还没更改,比如admin, auth, contenttypes, sessions.
运行成功显示界面效果:Django默认开启Debug模式,此时版本为2.2.
且Django默认自带后台
2. Pycharm启动项目
1.选择Edit Configurations选择项
2.添加 runserver 参数
3.在manage.py文件中右键选择Run manage,项目启动成功如下:
5、项目结构介绍
以下是Django项目固定的设置,不同于Flask框架。
- manage.py:和项目交互基本上都是基于这个文件。一般都是在终端输入
python manage.py [子命令]
。
可以输入python manage.py help
看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文件。 - settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。Flask框架中是人为定义的config.py文件。
- urls.py:这个文件是用来配置URL路由的。比如访问http://127.0.0.1/news/是访问新闻列表页,这些东西就需要在这个文件中完成。Flask框架中是通过route的装饰器去配置路由,或者类视图绑定路由。
- wsgi.py:项目与WSGI协议兼容的web服务器入口,服务器部署的时候需要用到的,一般情况下也是不需要修改的。
1. project和app的关系
app是django项目的组成部分。一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理。比如豆瓣,里面有图书,电影,音乐,同城等许许多多的模块,如果站在django的角度来看,图书,电影这些模块就是app,图书,电影这些app共同组成豆瓣这个项目。因此这里要有一个概念: django项目由许多app组成,一个app可以被用到其他项目,django也能拥有不同的app。
项目要求:高内聚低耦合,两个独立模块的联系越少越好。
2. 创建app
python manage.py startapp [app名称]
app中的文件
- init.py 说明目录是一个Python模块
- models.py 写和数据库相关的内容
- views.py 接收请求,处理数据 与M和T进行交互
- tests.py 写测试代码的文件(暂时不需要关心)
- admin.py 网站后台管理相关的
应用注册
建立应用和项目之间的联系,需要对应用进行注册。
修改 settings.py中的INSTALLED_APPS配置项
测试代码:
utls.py文件定义和绑定不同的路由,这种方法和路由都在一起,后期会造成项目的代码文件臃肿。
from django.contrib import admin
from django.urls import path
from django.http import HttpResponse# django框架中写视图函数,必须要传参request
def index(request):return HttpResponse("hello world") # 返回值必须是 HttpResponse包裹住的类型# django框架中写视图函数,必须要传参request
def book(request):return HttpResponse("图书首页") # 返回值必须是 HttpResponse包裹住的类型urlpatterns = [path('admin/', admin.site.urls), # django默认路由前面有/,不需要添加path('', index), # 路由为/,绑定的方法是index,此时不能加()path('book/', book), # 路由为book/,绑定的方法是book]
3. 项目中真正的定义和绑定路由的方式
book/views.py 文件中定义路由的方法
from django.shortcuts import render# Create your views here.from django.http import HttpResponse# django框架中写视图函数,必须要传参request
def book(request):return HttpResponse("图书首页") # 返回值必须是 HttpResponse包裹住的类型# django框架中写视图函数,必须要传参request
def index(request):return HttpResponse("hello world") # 返回值必须是 HttpResponse包裹住的类型
utls.py文件绑定不同的路由
from django.contrib import admin
from django.urls import path
from django.http import HttpResponse
from book.views import book # 从其他app模块中导入定义的路由方法
from book.views import indexurlpatterns = [path('admin/', admin.site.urls), # django默认路由前面有/,不需要添加path('', index), # 路由为/,绑定的方法是book模块中views.py的index方法path('book/', book), # 路由为book/,绑定的方法是book模块中views.py的index方法]
4. DEBUG模式
• 开启了debug模式,那么修改代码,然后按下ctrl+s,那么Django会自动重启项目
• Django项目中代码出现了问题,在浏览器中和控制台中会打印错误信息
• 如果项目上线了,关闭debug模式,不然有很大的安全隐患,因为项目错误信息会显示在页面上,不安全
• 关闭DEBUG模式,在setting文件中,将DEBUG = False
Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)相关推荐
- Django框架学习(1) —— 环境搭建
最近也开始学习Django,哔哩哔哩视频地址:https://www.bilibili.com/video/BV1CJ411G79F?p=119 菜鸟教程上有Django的介绍这里不多说. 开发环境 ...
- Django框架学习收藏
Django 购买视频自学读书笔记 https://www.bilibili.com/video/av17879644/?p=1 ---------自我学习总结01 一.django 1.MVC设计理 ...
- Django框架学习(一)Django框架安装和项目创建详解
Django框架学习(一)Django框架安装和项目创建详解 文章目录 Django框架学习(一)Django框架安装和项目创建详解 一.简介 1.1介绍 1.2 URL 1.3.框架原理 二.安装 ...
- django框架学习文档_Python四大主流网络编程框架,你知道么?
高并发处理框架-- Tornado Tornado 是使用 Python 编写的一个强大的可扩展的 Web 服务器.它在处理高网络流量时表现得足够强健,却在创建和编写时有着足够的轻量级,并能够被用在大 ...
- Django框架学习
Django是现在世界上python语言应用最广泛.发展最成熟的web框架.它足够完整 ,不需要依赖其他就可以开发出 非常完整的web应用.Django的主要内容如下: Django综述:了解Djan ...
- Python Web开发——Django框架学习
文章目录 Web开发简介 Web应用技术 Web前端开发 Web后端开发 使用 Django 开发后端服务 项目目标 管理员操作 登录界面 客户管理界面 添加客户界面 药品管理界面 添加药品界面 订单 ...
- Django安装与开发虚拟环境搭建01
Django是一款基于python的MVT的web开发框架(m表示model,主要用于对数据库层的封装 ,v表示view,用于向用户展示结果,c表示controller,是核心,用于处理请求.获取数 ...
- 使用Django框架实现游戏网站搭建
完整工程链接点击打开链接 上一篇中我们使用了Javascript和Html5实现了弹球游戏,而在本文中我们希望以其为基础实现游戏网站,能够实现用户的注册登录,游戏成绩记录,排名显示,微博分享等功能. ...
- Django框架学习之网上商城项目一(后端设计)
目录 一.项目需求分析 1.项目介绍 1.技术难点 2.系统功能 3.项目环境 4.后台管理页面 二.数据库模型设计 一.准备工作 二.用户认证数据库模型设计 1. app/users/models. ...
最新文章
- mysql error.log 权限_docker-compose 启动mysql 容器时 error.log 无权限访问怎么办?
- linux怎么复制手册,程序员的Linux上手手册(2) - 基础文件操作命令
- 华为代码规范_53年国内唯三,华为MindSpore论文获顶会最佳论文提名
- TOMCAT websocket 多连接内存泄漏与jetty对比分析
- Android Studio开发基础之Activity之间参数传递
- 《C++ Primer 5th》笔记(4 / 19):表达式
- Insql 1.8.2 发布,轻量级 .NET ORM 类库
- 模拟服务器MockServer之Moco详细介绍
- 'qapplicationapp'在此作用域中尚未声明 linux,qt 编译问题总结
- 安装SVN时提示错误:vcredist 2019 download
- ROS位置导航基础之坐标变换
- 安装油猴(Tampermonkey)插件,让你的浏览器更强大
- 实用Windows网速监控软件TrafficMonitor
- 光滑的圆环(glossy torus)
- 蓝牙耳机一个响一个不响怎么办
- 5年后端WEB开发者的开机必备软件(md版本)
- python绘制科赫曲线
- python版电报API接入从零到一(有彩蛋)
- 千山独行-一个人的创业路(连载一)
- CSS基础(3)- 选择器