Python之django基础第一天,认识django

什么是框架?

框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演。

对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。

mvc 和mvt 模式的区别:

著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。

模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。

什么是Django,Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式

Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

Model(模型):负责业务对象与数据库的对象(ORM)

Template(模版):负责如何把页面展示给用户

View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

django执行图

Python命令行创建项目:django-admin stratproject 项目名

Python命令行创建子应用: django manage.py startapp 子应用名

项目目录结构

django第一个hellowork

def cur_time(request): # 创建一个方法
 return HttpResponse("hello,django") # 使用HttpResponse进行返回
# 路由 url(r"^hello_django/",views.cur_time), 浏览器通过127.0.0.1:8000/hello_django 进行访问

使用django的模板

创建一个html页面

前端代码
 <form action="/rongou/" 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="text" name="mobile"></p>
 <p><input type="submit" value="提交"></p>
 </form>
 <table border="1px">
 <tr>
 <td>用户名</td>
 <td>性别</td>
 <td>邮箱</td>
 <td>手机号</td>
 </tr>
 {# 使用模板进行渲染 #}
 {% for f in list %}
 <tr>
 <td>{{ f.username }}</td>
 <td>{{ f.sex }}</td>
 <td>{{ f.email }}</td>
 <td>{{ f.mobile }}</td>
 </tr>
 {% endfor %}
 </table>
</body>
后台代码
def indexs(request):
 # 校验提交方式
 if request.method == "POST":
 username = request.POST.get("username") # 获取用户名
 sex = request.POST.get("sex") # 获取性别
 email = request.POST.get("email") # 获取邮箱
 mobile = request.POST.get("mobile") # 获取手机号码
 # 把数据添加到字典中
 rongou = {"username":username,"sex":sex,"email":email,"mobile":mobile}
 # # 把字典添加到列表中
 list_user.append(rongou)
 return render(request,"rongou.html",{"list":list_user})
因为前端会涉及到一个csrf的跨域,要在配置文件中setting.py,把csrf注释(后期再讲怎么运行请求跨域)

关闭csrf中间件

前端页面

 

用django的数据库

django会自带数据库,为sqlite3的数据库(默认)

class userInfo(models.Model):
 """
 创建模型类
 """
 username = models.CharField(max_length=64)
 sex = models.CharField(max_length=64)
 email = models.CharField(max_length=64)
 mobile = models.CharField(max_length=64)
ps:后期详细讲模型类 
数据库迁移 :python manage.py makemigrations 在执行 python manage.py migrate

数据库保存前端数据,并渲染到前端

def indexs(request):
 # 校验提交方式
 if request.method == "POST":
 username = request.POST.get("username") # 获取用户名
 sex = request.POST.get("sex") # 获取性别
 email = request.POST.get("email") # 获取邮箱
 mobile = request.POST.get("mobile") # 获取手机号码

 # # 把数据添加到字典中
 # rongou = {"username":username,"sex":sex,"email":email,"mobile":mobile}
 # # 把字典添加到列表中
 # list_user.append(rongou)
 # return render(request,"rongou.html",{"list":list_user})

 # 把数据插入数据库
 models.userInfo.objects.create(
 username=username, # 用户名
 sex=sex, # 性别
 email=email, # 邮箱
 mobile=mobile # 手机号
 )
 # 从数据库获取数据进行渲染 all()获取全部
 list = models.userInfo.objects.all()
 return render(request, "rongou.html",{"list": list})

数据库数据

看代码沉浮,谁轮人生,初识django结束

猜你喜欢

转载自www.cnblogs.com/rongou-123/p/9902425.html