Django框架与python结合使用;url与视图

#1、Django框架的简单介绍
1.1、Django框架同样也遵循MVC的思想,同样也有自己的专有名词MVT;
同时我们应该想到这两者应该如何配合使用才能完美的兼容;
Django框架与python结合使用;url与视图_第1张图片
1.2、在python中创建一个Django项目:
1#-导入完Django库;pip install django
2#-创建项目:命令行中键入 Django-admin startproject + 项目名称

1.3、运行Django项目时应该注意:
1#-通过命令行的方式;python manage.py runserver 可以在本地访问网站;端口是默认的8000,也可以更改你的端口;在runserver 后加上没有冲突的端口;
1.4、也可以使用在pycharm中 编辑配置中设置;
Django框架与python结合使用;url与视图_第2张图片

Django项目结构介绍
1# manage.py:以后和项目交互基本上都是基于这个文件。一般都是在终端输入python manage.py [子命令]。可
以输入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文
件。
2# settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。
3# urls.py:这个文件是用来配置URL路由的。比如访问http://127.0.0.1/news/是访问新闻列表页,这些东西就需
要在这个文件中完成。
4#w sgi.py:项目与WSGI协议兼容的web服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。

3、介绍project与APP的关系:
3.1、Django项目中App也是重要的组成部分;一个APP代表一个模块;所有的url请求响应都是由它来处理的;
3.2、创建一个APP:命令行中键入 python manage.py startapp + 名字;
3.3、APP中的文件:
init.py 说明目录是一个Python模块
models.py 写和数据库相关的内容
views.py 接收请求,处理数据 与M和T进行交互
tests.py 写测试代码的文件(暂时不需要关心)
admin.py 网站后台管理相关的

3.4、测试:
from django.http import HttpResponse
def index(request):
return HttpResponse(“首页”)
path(’’,index),
#此处我们直接在url中写了这些代码,注意定义的index函数里面跟的参数必须是request,返回的必须是HTTPResponse或者是它其中的子类;

3.5、setting中的debug模式:
1#开启了debug模式,那么修改代码,然后按下ctrl+s,那么Django会自动重启项目
2#Django项目中代码出现了问题,在浏览器中和控制台中会打印错误信息
3#如果项目上线了,关闭debug模式,不然有很大的安全隐患
4#关闭DEBUG模式,在setting文件中,将DEBUG = False

4、url和视图:
4.1、视图一般都是写在APP中的view.py中,并且视图的第一个参数永远都是request(一个HttpRequest)对象。这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等;
4.2、URL映射:
视图写完后,要与URL进行映射,也即用户在浏览器中输入什么url的时候可以请求到这个视图函数。在用户输入了某个url,请求到我们的网站的时候,django会从项目的urls.py文件中寻找对应的视图。在urls.py文件中有一个urlpatterns变量,以后django就会从这个变量中读取所有的匹配规则。匹配规则需要使用django.urls.path函数进行包裹,这个函数会根据传入的参数返回URLPattern或者是URLResolver的对象。

4.3、URL中添加参数:
url中包含了一些参数需要动态调整。比如简书某篇文章的详情页的url,是
https://www.jianshu.com/p/a5aab9c4978e后面的a5aab9c4978e就是这篇文章的id。
1# - 在urls文件中导入方法 :from django.urls import path;
2# - urlpatterns = [
path(‘jianshu/p’,views.bok)
]
3# - 在views.py中代码:
def book_detail(request,id):
text = “您输入的书籍的id是:%s” % book_id
return HttpResponse(text)

需要注意的是传参的这个变量名称在view.py和ulr.py中必须是一样的;否则参数报错;

你可能感兴趣的:(Django框架与python结合使用;url与视图)