Django文件配置及orm

http协议
-特点:
    1 基于TCP/IP协议之上的应用层协议
    2 基于请求-响应模式
    3 无状态保存
    4 无连接
-请求头:
请求首行 get / http/1.1\r\n
key:value\r\n
key:value\r\n
\r\n
请求体的内容

-响应头:
响应首行 http/1.1 200 ok \r\n
响应头: key:value\r\n
\r\n
响应体: html的代码
-状态码: 1开头(正在处理) 2开头(处理完毕) 3开头(重定向) 4开头(客户端问题) 5开头(服务端问题)

Django目录结构:
  1 工程名的文件夹:
        settings:全局配置
        urls:路由根视图函数映射关系
app名字的文件夹:
        views:视图函数 models:orm关系映射

一、django中app的概念:
大学:----------------- 项目
信息学院 ----------app01
物理学院-----------app02
****强调***:创建了app,要在配置文件中注册
...

settings文件内的配置,框内是配置app01的语句也可以写成 'app01'


二、模板路径配置:
1 templates文件夹 templates文件夹内一般存放views要渲染的页面创建了templates文件夹后要查看settings文件内有没有配置
2 settings里注册一下


三、静态文件配置:
1 STATIC_URL = '/static/' 一般不要改
2 创建一个static文件夹 一般不要改
3 STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static'), 创建的文件夹路径(可以写多个)
]
静态文件配置也需要在settings文件内配置,static文件夹内一般存放的是js、jq、图片等文件

四、完整版登录功能
  1.login.html
    1 action:提交到后台的地址三种写法:
1 http://127.0.0.1:8000/login
2 /login/ 推荐用
3 空
2 method post方式
3 <input type="submit" value="提交">或<button></button> #type不可以是button

<form action="http://127.0.0.1:8000/login" method="post">
        <p>
          用户名:<input type="text" name="name" class="form-control">
        </p>
        <p >
          密码:<input type="password" name="pwd" class="form-control">
        </p>
        <input type="submit" value="提交">
  </form>

  2.视图层:
1 request.method ----前台提交过来请求的方式
2 request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体重)
3 request.POST.get('name') ----推荐用get取值(取出列表最后一个值)
4 request.POST.getlist('name')-----取出列表所有的值_
5 前台get方式提交的数据,从request.GET字典里取

    

  3.链接数据库(防止注入,推荐以下写法)
cur.execute('select * from user where name=%s and password=%s ',[name,pwd])



五、get请求和post请求
get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)
post:往后台提交数据

六、新手三件套总结
1 render--返回页面
默认会去templates里找,注意路径
2 redirect--重定向
3 HttpResponse
本质:都是返回HttpResponse的对象

七、orm介绍
	1 ORM即Object Relational Mapping,全称对象关系映射。
	优点: 
		1 不用写sql,不会sql的人也可以写程序
		2 开发效率高
	2 缺点:
		1 可能sql的效率低
	3 如何使用:
		如果连接mysql:在setting里配置:
		    'default': {
				'ENGINE': 'django.db.backends.mysql',
				'HOST': '127.0.0.1',
				'PORT': 3306,
				'USER': 'root',
				'PASSWORD': 'admin',
				'NAME': 'lqz',
			}
		在app下的__init__.py里写:
		import pymysql
		pymysql.install_as_MySQLdb()
	
	4 django-orm:
		1 不能创建数据库(需要手动创建数据库)
		2 可以创建数据表
		3 可以创建字段
		
	5 数据库迁移
		1 python3 manage.py makemigrations   ----记录一下数据库的变化
		2 python3 manage.py migrate          ----将变化同步到数据库中

猜你喜欢

转载自www.cnblogs.com/layerluo/p/9912246.html
今日推荐