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

前台启动项目方式

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

  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:用转换器做一个计算器(单纯为了使用转换器)
计算视图函数
在这里插入图片描述
转换器写法
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值