10.27学习心得

Django的相关知识琐碎整理css

js:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
是一种网络脚本语音,被普遍应用于web开发,经常使用来为网页添加各式各样的动态功能为用户提供更加流畅美观的浏览器效果。
经常使用:
1)嵌入动态文本于HTML页面
2)对浏览器事件做出相应
3)读写HTML元素
4)数据被提交到服务器以前验证数据
5)检测访客的浏览器信息
6)控制cookies,包括建立和修改等
7)基于Node.js技术进行服务器端编程html

<th> <td> <tr>都是用于表格单元格显示,<table>是他们的上层标签,他们不可以单独使用,至关于属性标签。
<th>:定义表格内的表头单元格,此单元格中的内容一般为粗体
<tr>:表示表格中的某一行
<td>:表示表格中的某一列,须要嵌入在<tr>中
一行两列的表示以下:
<table>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
------------------------------------------------
<td>,<tr>必须放入<th>内使用
<th>为表格标题
<caption>为首部说明
<thead>为表格头部
<tbody>为表格主体内容
<tfoot>为表格尾部
标准表格模型
<table>
<caption></caption>
<thead>
<tr>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
<tfoot>
<tr>
<td></td>
</tr>
</tfoot>
</table>

在html中,<%**********%>里面能够写程序语音
WSGI:python服务器的网关接口
ORM:对象关系映射,解决面向对象与关系数据库存在的互不匹配的现象
通常的web框架:浏览器->WSGI->路由系统->业务处理逻辑->数据库与模板耦合--->1):static文件包括HTML,CSS,JS等;2)ORM数据库前端

MVC架构:
Model:定义数据库的相关内容,通常放在models.py文件中
View:定义HTML等静态网页文件相关,即html、css、js等前端的东西
Controller:定义业务逻辑相关,主要代码python

Django典型的业务流程:浏览器请求<-->WSGI-->URLs-->Views-->1)models(ORM,数据库);2)Templates(Static)
Django学习的内容:
1)目录结构规范
2)URLs路由方式
3)Settings配置
4)ORM操做
5)模板渲染
6)otherjquery

Django项目的目录结构:
1)文件夹-与项目名同名的配置文件
2)templates:存放html文件,也存放T文件
3)manage.py:项目管理文件
与项目名同名的文件夹中存放的文件有:
1)__init__.py
2)setting.py:主配置文件
3)urls.py:url路由文件
4)wsgi.py:网络通讯接口web

每一个Django项目中含有多个app,至关与大型系统中的子系统、子模块、子功能,各个功能系统之间相互比较独立,但又存在着联系,全部app共享项目资源。
建立app命令:python manage.py startapp XXX

urls.py路由编写
from cmdb import views #导入对于app的views文件
urlpatterns=[
url(r'index/', views.index), #参数1:网页搜索路径;参数2:业务逻辑函数
]sql

views.py业务逻辑编写
from django.shotcuts import HttpResponse #导入HttpResponse模块
def index(request): # 封装了用户请求的全部内容
return HttpResponse('hello world') # 由这个类封装起来进行返回数据库

此时,将index这个url指向了views里面的index()函数,它接收用户请求,并返回字符串django

运行web服务
方法1:命令行 python manage.py runserver 127.0.0.1:8000
方法2:pycharm运行编程

仅仅返回字符串可不行,一般都是将html文件返回给用户,那么就须要在用户请求的时候,访问对应的html文件
views.py业务逻辑操做
from django.shortcuts import render
修改index中的返回函数
def index(request):
return render(request, 'index.html') # 当须要返回一个html文件时,就须要render进行包装

要让django知道咱们的html文件在哪里,须要修改settings文件的内容,默认状况下无需修改,广泛适用

使用静态文件:前端三大块,html,css,js还有各类插件,他们齐全才是一个完整的页面,在django中,通常将静态文本存放在static目录中。

为了让django找到这个目录,依然须要对settings.py进行设置
STATIC = '/static/'
STATICFILES_DIRS=(
os.path.join(BASE_DIR, 'static'), #第一个参数是项目路径,第二个参数是设置目录的名字,由于是个元组,后面的逗号不能省略
)

也能够在html文件中,引入js文件了:
<script src='/static/js/jquery-1.12.4.js'><script>

接受用户发送的数据,用户同url发出一个访问请求,而后将要素齐全的html文件还给了用户浏览器,但web服务器和用户之间没有动态交互。
设计一个表单,让用户输入用户名和密码,提交给index这个url,服务器接收这些数据

返回动态页面:咱们收到用户数据后,返回给用户的依然是静态页面,一般咱们会根据用户的数据,进行处理后返回给用户。
改造views.py文件
# 建立用户信息列表,预约义两个数据,返回给浏览器,展现给用户
user_list = [
{'user':'jack', 'pwd':'123'},
{'user':'alice', 'pwd':'456'},
]
def index(request):
if request.method == 'POST':
username = request.POST.get('username', None)
password = request.POST.get('password', None)
temp = {'user':username, 'pwd':password}
user_list.append(temp)

return render(request, 'index.html', {'data':user_list})
# render方法接收第三个参数是后台返回给浏览器的数据,它是一个字典,data是你自定义的指针名字,他会被对应的html文档引用即本文的index.html


此时,框架已经基本成型,就差数据了用户存储数据,自带ORM框架操做数据库,并带有轻量级的sqlite3数据库。
1)注册:在settings中注册你的app,不注册它,数据库不知道给哪一个app建立表
2)在settings中,配置数据库相关的参数,若是使用自带的sqlite,不要修改
3)编辑models.py文件,也是就MTV中的V,操做数据库相关
from django.db import models
#参数中,继承这个类,固定写法
class UserInfo(models.Model):
# 建立2个字段,最大长度32,类型是char
user = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)

4)经过终端建立数据库的表
python manage.py makemigrations
python manage.py migrate
5)修改views.py的业务逻辑
from cmdb import models

def index(request): if request.method == 'POST': username = request.POST.get('username', None) password = request.POST.get('password', None) #从用户那里得到数据保存到数据库 models.UserInfo.objects.create(user=username, pwd=password) # 从数据库中读取全部的数据 user_list = models.UserInfo.objects.all() return render(request, 'index.html', {'data':user_list})

相关文章
相关标签/搜索