Django创建应用以及路由的配置
Django简介:是一个开放源代码的web 应用框架,由python 写成。初次发布于2005年7月,并于2008年9月发布了第一个正式版本1.0.
文件说明:
manage.py:一个命令行工具,可以使我们用多种方式对Django的工程进行交互。
project: __init__.py:一个空文件,告诉python这个目录应该被看成一个包
settings.py:工程的配置文件
urls.py:工程的URL声明(主URL控制器)
wsgi.py:工程与WSGI兼荣的web服务器入口
数据库的配置:注意:Django 默认使用SQLite数据库
在settings.py文件中,通过DATABASES,选项进行数据库的配置
启动服务:python manage.py runserver
1.dj 创建子应用
2.创建完成子应用后,还要进行注册才可以
1.找到settings.py 文件
2.注册子应用
注意:其实导入的就是apps 的 ProjectsConfig 类
3.注册视图
1.在views.py 里面注册视图
from django.http import HttpResponse
# Create your views here.
def index(request):
"""
第一个视图函数
:return:
"""
return HttpResponse("<h1>Hello,你好测开大佬</h1>")
4.配置路由
全局路由
1.导入应用
2.配置路由
引入视图的类
from projects.views import index
urlpatterns = [
path('pro/', index)
]
5创建的子应用的各个文件的作用
1.admin.py 相当于控制台
2.apps.py进行应用配置
3.models.py定义数据库模型,跟数据库交互都在这里
4.test.py单元测试
5.views.py存放视图
6.创建子路由
1.首先在子应用里面新建urls.py 文件夹,用来存放路由
2.然后再urls 文件夹里面配置路由
from django.urls import path
from pro_01.views import index_02
urlpatterns = [
path('', index_02)
]
3.在全局路由里面导入
from django.urls import include
配置路由
urlpatterns = [
path('pro_01/', include('pro_01.urls'))
]
4.然后根据全局配置的路由,就会一级级去寻找子路由
总结:1.每一个应用模块都会维护一个子路由
2.跟主路由一样,也是从上到下进行匹配
3.能匹配上,则执行path第二个参数指定的视图,匹配不上,则抛出404异常
注意:子路由不能再嵌套路由,可以写多级子路由
视图函数
def index_01(resquest):
"""
视图函数,该视图函数支持所有请求的方法
:param resquest:resquest是HttpRequest对象,包含前端用户的所有请求信息
:return: 必须返回一个HttpResponse对象或者子对象
"""
return HttpResponse("<h1>练习注册视图函数</h1>")
注意:需要在settings.py 文件里面注释掉 MIDDLEWARE 里面的
django.middleware.csrf.CsrfViewMiddleware'
视图函数如果我们支持多种请求方法的话,视图函数不便于维护,我们可以借助类函数
更好的创建各种请求
类函数
from django.views import View
class IndexView(View):
def get(self, request):
return HttpResponse("<h1>这是get请求方法</h1>")
def delete(self, request):
return HttpResponse("<h1>这是get请求方法</h1>")
def put(self, request):
return HttpResponse("<h1>这是get请求方法</h1>")
def post(self, request):
return HttpResponse("<h1>这是get请求方法</h1>")
(注意:我们可以适用alt+enter 快捷键来导入类,直接写好要导入的类的名字,然后按快捷键就行)
子路由视图配置:
1.我们需要导入子应用的视图模块
2,然后在path里面根据 views.写好的类视图.as_view() as_view() 一定要加括号,不然会报错
from pro_01 import views
urlpatterns = [
# path('', index_02)
path('', views.IndexView.as_view())
]
Django创建应用以及路由的配置的更多相关文章
- Django创建应用、模型、配置后台自动管理
1.创建应用 python manage.py startapp myblog 2.应用结构 3.创建模型(models.py) from django.db import models # Crea ...
- Django 创建app 应用,数据库配置
一.create project mkdir jango cd jango 目录创建project myapp django-admin startproject myapp 2.在给project创 ...
- Django 创建APP - 简单路由系统案例
架构图: setting.py: INSTALLED_APPS = [ ... 'bootstrap', ] myapp -> myapp -> urls.py from django.c ...
- django——url(路由)配置
URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被 ...
- Django之路由控制配置
路由控制配置 简单的路由配置 Django即支持1.x版本的路由配置也支持2.x的路由配置 1.x版本的路由配置是使用re进行路由配置(re_path) 2.x版本的路由配置使用(path)进行路由配 ...
- 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统
Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...
- 四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- django之创建第7-4个项目-配置views文件实现url传值
即:怎么实现url?name=xiaodeng&age=28等类似传值处理 1.配置views文件 # Create your views here. #coding:utf-8 from d ...
随机推荐
- javascript中Function、ArrowFunction和GeneratorFunction介绍
ECMAScript规范中对Function的文档描述,我认为是ECMAScript规范中最复杂也是最不好理解的一部分,它涉及到了各方面.光对Function就分了Function Definitio ...
- HDU - 1253 胜利大逃亡 (搜索)
Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0 ...
- CF1324F Maximum White Subtree——换根dp
换根dp,一般用来解决在无根树上,需要以每个节点为根跑一边dfs的dp问题 我们做两遍dfs 先钦定任意一个点为根 第一遍,算出\(f_i\)表示\(i\)的子树产生的答案,这里,子树指的是以我们钦定 ...
- 虚拟机上图片服务器搭建(FastDFS+nginx)
文件服务器 0.提前建好需要的文件夹(/home/fastdfs) /home/fastdfs/tracker /home/fastdfs/storage /home/fastdfs/storage/ ...
- LTE基站开局流程脚本的具体含义
1.全局参数配置MOD ENODEB(修改基站): ENODEBID=2015(基站标识2015), NAME="安职-1"(基站名称), ENBTYPE=DBS3900_LTE( ...
- 【HBase】协处理器是什么?又能干什么?怎么用?
目录 简单了解 官方帮助文档 协处理器出现的原因 协处理器的分类 Observer Endpoint Phoenix 协处理器的使用 加载方式 静态加载 动态加载 协处理器的卸载 协处理器Observ ...
- [hdu4358]树状数组
思路:用一个数组记录最近k次的出现位置,然后在其附近更新答案.具体见代码: #pragma comment(linker, "/STACK:10240000,10240000") ...
- mysql5.7 derived_merge=on 影响你的查询了吗?
衍生表的优化:合并 | 具化 一.mysql优化器对于衍生表的优化处理可以从两方面进行: 将衍生表合并到外部查询 将衍生表具化为内部临时表 1.示例 1: SELECT * FROM (SELECT ...
- Codeforces 909E(Coprocessor,双队列维护)
题意:给出n个待处理的事件(0 ~n-1),再给出了n个标(0表示只能在主处理器中处理这个事件,1表示只能在副处理器中处理这个事件),处理器每次能处理多个任务.每个事件有关联,如果一个任务要在副处理器 ...
- QQ恢复解散后的群聊或删除后的好友的方法
今天有一个群被一个管理员乱踢人,之后将群解散. 事后几分钟我在想有没有什么方法可以重新恢复的方法,之后进入了QQ的官网进行查找. 本来以为没希望了,但是奇迹发生了. 原来真的可以恢复! 恢复的详情: ...