Django基础

张开发
2026/5/30 21:09:09 15 分钟阅读
Django基础
一创建虚拟环境1.1 创建并且激活python的虚拟环境好处虚拟环境可以隔离项目依赖避免全局安装的包产生冲突安装同一个包的不同版本后安装的包会把原来安装的包覆盖掉。这样如果一台机器上两个项目依赖于相同包的不同版本则会导致一些项目运行失败解决方案虚拟环境解释虚拟环境就是真是python环境的复制版本python里面有哪些环境全局环境直接在c盘安装的包项目虚拟环境每次创建项目的时候会自动创建这个环境虚拟环境创建虚拟环境的步奏在任意地方创建文件夹在上方路径中输入cmd然后再按回车在命令行中输入python-m venv myenv(你的虚拟环境想取啥名字都可以)这里会在当前目录生成一个myenv的虚拟环境目录激活虚拟环境在CMD里面使用下面指令这里有一个多级目录持续进入并且激活activatemyenv\Scripts\activateorcd myenv cd Scripts activate此时相当于进入了虚拟环境下载Django包使用cd …/ 指令回退一级目录输入指令下载Django包pip install django3.2.20退出虚拟环境deactivate查看虚拟环境在当前环境下输入echo %path%有以下三种情况表示的是项目虚拟环境表示的是虚拟环境也就是我们在上面自己创建的表示的是全局虚拟环境二 Django基础2.1 概述网上找的定义Django是一款基于python语言的开源的重量级的WEB开发框架是适用于开发各种类型的Web应用程序常用的大部分组件1. 基本配置2. 路由系统3. 原生的html模板系统4. 视图view5. Model模型数据库链接和ORM数据库管理6. 中间件7. CookieSession8. 数据后台管理系统adminDjango的官网地址 https://www.djangoproject.com/中文网站 https://docs.djangoproject.com/zh-hans/3.2/2.2 安装与卸载2.2.1 版本要求2.2.2安装pip install Djangoversion2.2.3 验证直接在虚拟环境里面输入python -m django --version2.2.4卸载pip uninstall djangoversionversion表示版本号三Django项目3.1 创建并且运行创建项目python-m django startproject djangoBasic(你的项目名称)启动Django项目cd djangoBasic(进入项目文件)python manage.py runserver(运行项目)运行了之后不要关闭命令行这时候他会给你地址去浏览器里尝试访问如果出现火箭模型就说明启动成功了3.2 解释上述操作的目录文件的解释![最外层的manage.py是一个管理Django项目的命令工具init.py 告诉解释器这是一个python包settings.py django的所有配置文件urls.py URL调度器asgi.py 一个协议web服务器入口wsgi 一个协议web服务器入口当我们运行了一次项目之后他会新生成一个文件 db 这个相当于是Django自带的数据库3.3 从pycharm打开接下来我们要配置我们之前创建的虚拟环境到这里我们便完成了环境的配置3.4 对settings文件代码的解释 Django settings for djangoBasic project. Generated by django-admin startproject using Django 3.2.20. For more information on this file, see https://docs.djangoproject.com/en/3.2/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.2/ref/settings/ frompathlibimportPath#当前项目的绝对路径BASE_DIRPath(__file__).resolve().parent.parent# Quick-start development settings - unsuitable for production# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/#一个密钥用于提供加密签名并且因该设置一个唯一的不可预测的值SECRET_KEYdjango-insecure-%8-%3i-gvewafxnl)hrye4*0i(*bvg*b$r$f-znd4uax)7^!k#是否开启调试模式在开发的时候打开非开发环境时关闭DEBUGTrue#当前项目可以服务的主机/域名的字符串列表ALLOWED_HOSTS[]# 当前项目已经安装且被启动的应用程序列表INSTALLED_APPS[django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,]#当前项目已经安装且被启动的中间件MIDDLEWARE[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,]#根URL调度器完整的导入路径ROOT_URLCONFdjangoBasic.urls#模板引擎的配置列表TEMPLATES[{#使用的模板后端BACKEND:django.template.backends.django.DjangoTemplates,#模板引擎因该查找模板源文件的目录按照顺序依次搜索查到即可停止DIRS:[],#模板引擎是否因该在自己安装的应用程序的模板目录中查找模板源文件APP_DIRS:True,#模板引擎的选项OPTIONS:{context_processors:[django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,],},},]#wg服务器入口WSGI_APPLICATIONdjangoBasic.wsgi.application# Database# https://docs.djangoproject.com/en/3.2/ref/settings/#databases#数据库配置DATABASES{default:{ENGINE:django.db.backends.sqlite3,NAME:BASE_DIR/db.sqlite3,}}# Password validation# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators#密码强度的验证器列表AUTH_PASSWORD_VALIDATORS[{NAME: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,},]#语言代码LANGUAGE_CODEen-us#时区的字符串TIME_ZONEUTC#数据本地格式化USE_I18NTrue#数据本地化USE_L10NTrue#是否使用感知时间USE_TZTrue#静态文件路由令牌STATIC_URL/static/#默认主题字段类型DEFAULT_AUTO_FIELDdjango.db.models.BigAutoField3.5 了解相关功能之后我们自己体验一下将时区字符串改成 Asia/Anhui将 en-us 改成zh-Hans点击运行然后我们到浏览器访问地址补充刚才我们创建的Django项目是使用命令行创建的我们可以直接使用Pycharm直接创建虚拟环境直接选择我们创建的虚拟环境这里不做演示。。。。。实际应用肯定都是直接使用pycharm直接创建三URL调度器路由3.1 概述Django允许我们自由的设计URL不受框架的束缚包含URL模式简单的正则表达式到python函数视图的简单映射在urls,py里面写3.2 URL路由操作三部曲定义路由fromdjango.contribimportadminfromdjango.urlsimportpathfrom.importviews urlpatterns[path(admin/,admin.site.urls),#路由交给views来处理**path(hello/,views.hello),**]我们自己在左侧新建一个views 的python文件,自己定义完善hello方法fromdjango.httpimportHttpResponsedefhello(request):returnHttpResponse(Hello World!)我们在浏览器访问127.0.0.1:8000/hello/就可以

更多文章