.Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。轻量级可以用flask。
Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。
原来没有控制层,页面需要写python,所以出了mvc。但是增加了代码量,代码清晰了。
python是mvt。 models写实体类,例如学生类 ,创建十个数据库学生表 views写定义方法,验证 templates写静态页面,js
思路:例如注册,前端提交数据(TEMPLATES),python定义方法进行验证是否注册,定义sql语句,提交数据库保存(views---控制层,里面业务逻辑很多,思路清晰),成功后,可能跳转别的页面,urls是定义路径,贯穿起来。
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
pip list查找所装的所有软件
__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。settings.py
:Django 项目的配置文件。中间件,APP,数据库,根路径,静态文件,指定启动wsgi。urls.py
:Django 项目的 URL 声明,就像你网站的“目录”,路径跳转。wsgi.py
:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
ROOT_URLCONF = 'blog1.urls' #根路径
app也需要创建urls
TEMPLATES 模板
一个项目(总的),可以做多个APP(分支),多个模块。
DEBUG设置为False时的状态:
urls django2.0用path,1.8用url,里面是正则表达式
1.8:
urlpatterns = [
url('^admin/d{1,3}$', admin.site.urls),
]
2.0:
urlpatterns = [
path('admin/<int:id>', admin.site.urls),
]
编辑博客:http://write.blog.csdn.net/postedit/79732375 协议/域名/项目名称/参数
查看博客:https://blog.csdn.net/GAOSHIQI5322688/article/details/79732375 协议/域名/项目名称/目录/目录/参数
https://传输协议,是加密的,比较安全
http://超文本传输协议
www.baidu.com:80 域名/主机名/ip地址:端口 网站默认端口号80 省略
剩下的URI统一资源标识符
python.exe sdk 标准开发工具箱 java 叫 jdk
pycharm ide集成开发环境
映射:创建url,后台跳转前台
path('regist',views.regist)#请求路径,调用函数响应
from django.urls import path,include#根路径下导入include,
path('polls/', include('polls.urls')),#只能引用polls下的urls
后台数据显示到前台步骤:页面先找根路径下的APP路径,APP路径再找后台
1.后台
from django.shortcuts import render from django.http import HttpResponse #导入响应模块 # Create your views here.
def index(resquest):#请求只能响应一次 #return HttpResponse('hello world!') #没说跳转哪个页面,相当于document.write return render(resquest,'ok.html')#跳转页面,需要在templates建立html
2.APP路径
from django.urls import path from . import views urlpatterns = [ path('', views.HttpResponse), #请求路径,调用函数响应 ]
3.根目录经下制定我们创建的polls.urls
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('mysite/',include('polls.urls')#只能引用polls下的urls ]
页面带参数,带到后台
ME2/Sites/dirmod.asp?sid=&type=gen&mod=Core+Pages&gid=A6CD4967199A42D9B65B1B ---------get提交,地址栏,超链接方式提交
/newsarchive/<year>/<month>/ -------------改成这样,方便 rest风格,get提交
步骤:需要改的地方
1.def index(resquest,id):#请求只能响应一次
print(id)
#return HttpResponse('hello world!') #没说跳转哪个页面,相当于document.write return render(resquest,'ok.html')#跳转页面,需要在templates建立html2.
urlpatterns = [
path('<int:id>', views.HttpResponse), #请求路径,调用函数响应
]
3,添加参数
http://127.0.0.1:8000/polls/1
4.刷新