原创不易,有用记得转发哦!~
点击上方"Python大数据与SQL优化笔记"关注
Django采用MTV模式,本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template
下面介绍下,Django怎么创建一个项目
#安装: pip3 install django 记得添加环境变量 #1 创建project django-admin startproject myblog ---myblog ---settings.py ---url.py ---wsgi.py ---- manage.py(启动文件) #2 创建APP python mannage.py startapp blog #3 settings配置 STATIC_URL = '/static/' #别名 替代下面的static 方便以后更改路径,方便维护 STATICFILES_DIRS=( os.path.join(BASE_DIR,"blog","static"), #放一些静态文件,jQuery文件路径) #url.py #url分发 #view.py #具体的View视图函数实现功能 #5 使用模版 render(request,"index.html") #6 启动项目 python manage.py runserver 127.0.0.1:8090 #7 连接数据库,操作数据 model.py
django的命令行工具
django-admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每一个Django Project里都会有一个mannage.py。
<1> 创建一个django工程 : django-admin.py startproject mysite
当前目录下会生成mysite的工程,目录结构如下:
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py ----- 负责把URL模式映射到应用程序。
<2>在mysite目录下创建blog应用: python manage.py startapp blog
<3>启动django项目:python manage.py runserver 8080 这样我们的django就启动起来了!8080端口可以使用其他未占用的端口。当我们访问:http://127.0.0.1:8080/时就可以看到:
<4>生成同步数据库的脚本:python manage.py makemigrations
同步数据库: python manage.py migrate
注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。
<5>当我们访问http://127.0.0.1:8080/admin/时,会出现:
所以我们需要为进入这个项目的后台创建超级管理员:python manage.py createsuperuser,设置好用户名和密码后便可登录啦!
<6>清空数据库:python manage.py flush
<7>查询某个命令的详细信息: django-admin.py help startapp
admin 是Django 自带的一个后台数据库管理系统。
<8>启动交互界面 :python manage.py shell
这个命令和直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
<9> 终端上输入python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。
下面写个html渲染的代码
<html lang="en"><head> <meta charset="UTF-8"> <title>Titletitle>head><body><h1>个人信息h1><form action="/userInfor/" method="post"> <p>姓名<input type="text" name="username">p> <p>性别<input type="text" name="sex">p> <p>邮箱<input type="text" name="email">p> <p><input type="submit" value="submit">p>form><hr><h1>信息展示h1><table border="1"> <tr> <td>姓名td> <td>性别td> <td>邮箱td> tr> {% for i in info_list %} #模板语法 <tr> <td>{{ i.username }}td> <td>{{ i.sex }}td> <td>{{ i.email }}td> tr> {% endfor %}table>body>html>-----------------------url.py---------------------------------------re_path(r'^userInfor/', views.userInfor)-----------------------views.py--------------------------------------info_list=[]def userInfor(request): #request是HTTP请求返回结果 if request.method=="POST": #POST方式提交 username=request.POST.get("username",None) sex=request.POST.get("sex",None) email=request.POST.get("email",None) info={"username":username,"sex":sex,"email":email} info_list.append(info) return render(request,"userInfor.html",locals()) #渲染,locals()本地局部变量 #render,HttpResponse,render_to_response,redirect都是可以处理html的方式,后面介绍
------------------------------------------------------------------------------------
点击关注有百G视频教程大礼包送给你哦!~
福利
加小编微信拉你入群
请注明:加群,否则不会通过哦
微信:qq373000540