当前位置: 首页 > news >正文

启动命令,项目文件介绍,简单配置项介绍,url处理和视图函数

文章目录

  • 前台启动项目方式
  • 项目文件结构
  • URL处理
  • 视图函数
  • 路由配置path函数
  • path转换器

前台启动项目方式

一般测试的时候才这么启动,正式上线项目不会采用这种方式。

  1. django-admin startproject 项目名称
  2. cd 项目文件夹
  3. python3 manage.py runserver (可选项ip和端口,一般都加上)
    python3 manage.py runserver 81.70.152.200:8000 0.0.0.0:8000
  4. 配置settings.py, 找到ALLOWED-HOSTS, 是一个数组,把你的ip以字符串的形式填入数组内

项目文件结构

在这里插入图片描述
db.sqlite3是runserver之后,django自动生成的轻量级数据库。
manage.py包含项目管理的子命令,如:
python3 manage.py runserver —启动服务
python3 manage.py startapp —创建应用
python3 manage.py migrate —数据库迁移
直接执行python3 manage.py可以列出所有django的子命令
在这里插入图片描述

3.和项目同名文件夹 mysite1/mysite1,里面有四个文件
——init——:python包的初始化文件
wsgi.py:WEB服务网关的配置文件,正式启动上线时会用到
urls.py:项目的主路由配置-HTTP request进入django时,优先调用该文件
settings.py:项目的配置文件,包含项目启动时需要的配置。配置项分为公有配置和自定义配置。公有配置是官方写好的配置项,自定义配置是我们自己写的配置项。

BASE_DIR是项目文件的绝对路径,Path(file).resolve()是返回当前settings.py文件的路径,.parent.parent就是settings.py的上级上级目录,刚好就是项目文件夹的绝对路径。
在这里插入图片描述
DEBUG=True是代表调试模式。
1.检测代码改动后,立刻重启服务。也就是说,只要代码改变,对应的网页立刻就会改变
2.若有bug,会有报错页面
DEBUG=False是代表正式模式
在这里插入图片描述
ALLOWED_HOST是过滤请求头的hosts,只有在数组里面的hosts才允许访问。
一台服务器里面可以跑多个网站,但是服务器对应的ip地址是唯一的,当域名被解析成ip地址时,服务器无法通过这个ip地址分辨出这个http请求是要访问哪一个网站的。因此可以用hosts分辨出来不同。hosts不同,证明访问的网站不同。但ip地址还是同一个。
在这里插入图片描述
LANGUAGE_CODE可以改变页面的语言
在这里插入图片描述
TIME_ZONE可以修改时区。当接收到http请求时,会显示当前接收http请求时的时间,切换成东八区就是中国时间。Asia/Shanghai,别拼错了
在这里插入图片描述
改完就可以显示当前中国时间了。
在这里插入图片描述

URL处理

django如何处理URL请求?
Django从配置文件根据ROOT_URLCONF找到主路由文件, 默认情况下该文件在项目同名目录下的urls.py

这是ROOT_URLCONF配置项,默认是同名文件的urls.py
在这里插入图片描述

urls.py里面有一个数组,放的是文件资源路径。找的方式是遍历数组。
找到了就返回响应,找不到就返回404响应.我们发现里面默认有一个admin/网页,可以访问一下看一下。
在这里插入图片描述

视图函数

视图函数是用于接收http request(HttpRequest对象)并通过http response对象返回响应的函数。也就是说视图函数是处理具体业务的。

语法:
1.函数名字随便起,到时候在urls.py里面要import这个函数,并把函数指针传给path。猜测应该是调用回调函数。
2.这个处理函数放在一个py文件里面,文件具体叫什么,在哪里都无所谓,只要import的时候正确导入即可。
3.写这个函数的时候一定要导入from django.http import HttpRespond,不然返回不了响应

def xxx_view(request[,其他参数]):
	return HttpResponse对象

path前面是url路径,注意这里的url路径并不代表本服务器上面有这么一个page/2003,这只是给用户访问时使用的地址,不是物理地址。后面那个是处理函数
在这里插入图片描述
在这里插入图片描述

路由配置path函数

path函数
导入 - from django.urls import path
参数 - path(route, views, name = None)
route:字符串类型,匹配的请求路径
views:指定路径锁对应的视图处理函数的名称
name:为地址起别名,在模板中地址反向解析时使用

path转换器

语法:<转换器类型:自定义名>
匹配到对应类型后以关键字传参的方式传递给视图函数
例子: path(‘page/< int:page >’, views.xxx)

转换器类型

  1. str 匹配除了’/'之外的非空字符串 /v1/users/guoxiaonan 匹配guoxiaonan
  2. int 匹配0或者任何正整数, 返回一个int. /page/100 匹配100
  3. slug 匹配任意由ASCII字母或数字以及连字符和下划线组成的段标签 detail/this-is-django 匹配this-is-django
  4. path 匹配非空字段,包括路径分隔符v1/goods/a/b/c 匹配goods/a/b/c

注意:转换器转化得到的参数会传给视图处理函数,因此函数记得把参数带上。最好转换器名字和参数名字相同。

例子1:
转换器
在这里插入图片描述
处理函数
在这里插入图片描述
在这里插入图片描述
例子2:用转换器做一个计算器(单纯为了使用转换器)
计算视图函数
在这里插入图片描述
转换器写法
在这里插入图片描述

相关文章:

  • Double Q-learning
  • 【前端】HTTP相关知识总结
  • csp202206
  • Hive中的数据倾斜优化
  • SpringMvc(二、请求传参
  • [如何编译openGauss对应版本的wal2json.so]
  • 计算方法/数值分析 期末复习整理
  • makefile(详细讲解)
  • Java递归实现迷宫问题和八皇后
  • 软件测试面试题及答案,2022最强版
  • 2.采药-01背包
  • 语法基础(函数)
  • 这几个小插件助你快速提升工作效率
  • Java毕业设计-校园活动赞助与宣传管理系统
  • APS智能排产帮助企业做好生产管理
  • [译]如何构建服务器端web组件,为何要构建?
  • Java的Interrupt与线程中断
  • Making An Indicator With Pure CSS
  • node学习系列之简单文件上传
  • PAT A1017 优先队列
  • Quartz初级教程
  • rabbitmq延迟消息示例
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • vue2.0项目引入element-ui
  • WePY 在小程序性能调优上做出的探究
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 高程读书笔记 第六章 面向对象程序设计
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 基于axios的vue插件,让http请求更简单
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 简单实现一个textarea自适应高度
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 阿里云移动端播放器高级功能介绍
  • ​如何防止网络攻击?
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (003)SlickEdit Unity的补全
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (07)Hive——窗口函数详解
  • (11)MSP430F5529 定时器B
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C语言)fgets与fputs函数详解
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (补)B+树一些思想
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)Linux——Linux常用指令
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (区间dp) (经典例题) 石子合并
  • (四)鸿鹄云架构一服务注册中心
  • (一)插入排序
  • (转)程序员技术练级攻略
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 中什么样的类是可使用 await 异步等待的?