1、Django简介 1.1 Django介绍 Django 于 2005 年发布,是 Python 世界中最著名、最成熟的网络框架。最初用于制作在线新闻的网站。 Django 是一个用python 编写的开源Web 应用程序框架(源代码是开源的,符合BSD 版权)。采用MVC框架模式,很多人称之为MVT(MTV)模式。 1.2 # B/S架构 B/S结构(Browser/Server模式)是WE
1、Django简介
1.1 Django介绍
Django 于 2005 年发布,是 Python 世界中最著名、最成熟的网络框架。最初用于制作在线新闻的网站。 Django 是一个用python 编写的开源Web 应用程序框架(源代码是开源的,符合BSD 版权)。采用MVC框架模式,很多人称之为MVT(MTV)模式。
1.2 # B/S架构
B/S结构(Browser/Server模式)是WEB兴起后的一种网络结构模式。 WEB浏览器是
客户端的主要应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中在服务器上,简化了系统的开发、维护和使用。客户端上只安装了一个浏览器。
1.3 #MVC设计模式(模型视图控制器)
1.3.1 MVC介绍
一种软件设计范式,它使用数据和界面显示分离的方法来组织代码和将业务逻辑聚合为一个
在组件中,在改进和定制界面和用户交互的同时,无需重写业务逻辑。
MVC 被独特地开发为将传统的输入、处理和输出功能映射到一个逻辑图形界面结构中。
核心理念:解耦
优点:减少模块之间的耦合,方便变更,更容易重构代码,最大程度实现代码的复用。
1.3.2 #MVC三个模块的作用
(1)模型:用于封装与应用程序的业务逻辑和数据处理方法相关的数据。它是Web应用程序中用于处理应用程序的数据逻辑部分。模型通常只提供功能接口,通过这些接口可以获得模型的所有功能。
(2) View:负责数据的展示和呈现。视图是给用户的直接输出。
(3)Controller:负责收集客户端的用户输入,可视为提供视图的反向功能,主要处理用户交互。
2、windows下搭建虚拟环境
1\。安装虚拟模块
-
pip install virtualenv
-
PIP install virtualenvwrapper win
2\。创建虚拟模块
- mkvirtualenv[虚拟环境名称]
例如:mkvirtualenv 学习
3\。查看虚拟环境
- 工作
例如:进入指定的虚拟环境,learn就是workon learn
4\。建立虚拟环境后,需要激活虚拟模块
- 输入L_在env文件夹中的Scripts文件夹中打开命令行输入:activate
至此,以上创建工作完成
3、安装django并在pycharm中创建django项目
1\。基于刚刚创建的虚拟环境,使用命令pip下载安装django,并指定django版本为3.2和国内安装源路径
pip install djangou003du003d3.2 pyinstaller -i https://pypi.doubanio.com/simple
2\。打开pycharm创建项目
这里在刚刚创建的虚拟环境中选择Python in Scripts Exe Interpreter,在项目的Interpreter中选择
至此,项目创建成功。创建的项目结构如下:
3\。运行演示项目并点击Manage Py,点击Run
如果出现以上文字,在浏览器中输入 http://127.0.0.1:8000 ,结果如下:
注意:如果报错名'os' is not defined,在错误页面导入os包,具体是import os
详情见这个错误https://blog.csdn.net/strugglesmen/article/details/108886410
4、Django文件分析
1.settings.py 对每个文件做了一些注释
"""
演示项目的 Django 设置。
由 'django-admin startproject' 使用 Django 3.2 生成。
有关此文件的更多信息,请参阅
https://docs.djangoproject.com/en/3.2/topics/settings/
有关设置及其值的完整列表,请参阅
https://docs.djangoproject.com/en/3.2/ref/settings/
"""
从 pathlib 导入路径
导入我们
在项目中构建路径,如下所示:BASE_DIR / 'subdir'。
BASE_DIR u003d Path(__file__).resolve().parent.parent #项目所在目录
快速启动开发设置 - 不适合生产
见 https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
SECURITY WARNING:将生产中使用的密钥保密!
SECRET_KEY u003d 'django-insecure-!)t)zmg1u4uri4!v&27$rbyu003dfetunuekjzztmk8g9dk2#5xofy' #secret key
安全警告:不要在生产中打开调试运行!
DEBUG u003d True #调试开关。生产环境不要开启
ALLOWED_HOSTS u003d [] #允许哪些主机访问我们并写入允许访问者的ip。如果每个人都需要访问,写成 ALLOWED_HOSTS u003d ["*"]
应用程序定义
INSTALLED_APPS u003d [ #django 内置应用程序
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'one.apps.OneConfig',
]
中间件 u003d [ #中间件
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF u003d 'demo.urls' #跟随路线
TEMPLATES u003d [ #模板相关内容
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS':是的,
“选项”:{
'上下文_处理器':\ [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION u003d 'demo.wsgi.application' #部署使用
数据库
https://docs.djangoproject.com/en/3.2/ref/settings/#databases
数据库 u003d { #数据库
“默认”:{
“引擎”:“django.db.backends.sqlite3”,
'NAME': BASE_DIR / 'db.sqlite3',#sqlite是一个轻量级的嵌入式数据库,特点是体积小。经常用在android和ios手机上
} #sqlite和mysql的相似度高达90%
}
密码验证
https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS u003d [ #密码验证器
{
“名称”:“django.contrib.auth.password_validation.UserAttributeSimilarityValidator”,
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
国际化
https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE u003d 'en-us' #语言编码
TIME_ZONE u003d 'UTC' #时间
使用_I18N u003d 真#
使用_L10N u003d 真
使用_TZ u003d 真
静态文件(CSS、JavaScript、图像)
https://docs.djangoproject.com/en/3.2/howto/static-files/
静态_URL u003d '/静态/'
默认主键字段类型
https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
默认_AUTO_FIELD u003d 'django.db.models.BigAutoField'
2.urls.py
在浏览器中输入 127.0.0.1:8000/admin 可以查看django自带的admin页面,是通过URLs Py route过去的
"""演示网址配置
https://docs.djangoproject.com/en/3.2/topics/http/urls/
示例:
功能视图
- 添加导入:from my_app import views
- 给urlpatterns添加一个URL:path('', views.home, nameu003d'home')
基于类的视图
1.添加导入:from other_app.views import Home
- 给urlpatterns添加一个URL:path('', Home.as_view(), nameu003d'home')
包括另一个 URLconf
1.导入include()函数:from django.urls import include, path
- 给urlpatterns添加一个URL:path('blog/', include('blog.urls'))
"""
从 django.contrib 导入管理员
从 django.urls 导入路径
urlpatterns u003d [ #url匹配
path('admin/', admin.site.urls), #一个url路由匹配规则
]
3.views.py
里面什么都没有。您需要创建自己的视图功能
Python社区为您提供最前沿的新闻资讯和知识内容
- 8
- 0
- 0
- 0
扫一扫分享内容
- 分享