一,app的概念
每一个功能都可以封装成一个app,每个app都有不同的作用
注意:创建app,要在配置文件中注册
二,模板路径配置
1,在templates文件夹里面写对应的Html文件
2,在settings里面需要注册一下(记住即可)
需要在一个INSTALLED_APPS下面添加app的名字
三,静态文件配置
1,STATIC_URL = '/static/' //一般在创建django项目的时候就创建好了,不需要更改
2,创建有一个static文件夹,一般名字不需要更改
3,STATICFILES_URL = [ os.path.join(BASE_DIR, 'static') 创建的文件夹路径(可以选多个) ]
四,完整的登录注册功能
总结版本:
登录页面: 1,action:提交到后台地址的三种写法: 1,http://127.0.0.1:8000/login 2,/login/ 推荐使用 3,什么都不写 2,method post 方式(携带数据) get是不携带数据的请求 3,提交时:1>使用Input标签,type改成submit 2>直接使用button标签 4,<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> 视图层: 1,request.method(前台提交数据的请求方式) 2,request.POST(相当于字典)--post形式提交过来的数据,(HTTP请求报文的请求体中) 3,request.POST.get('name') (推荐使用get取值,取出列表最后一个值) 4,request.POST.getlist('name')--取出列表所有的值 5,前台get方式提交的数据,从request.GET字典里取 链接数据库,防止注入,推荐写法 cur.execute('select * from user where name=%s and password=%s ',[name,pwd])
五,get和post数据请求
get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)
post:往后台提交数据
六,新手三件套:
1,render(request,'页面相对路径')----返回页面2,redirect('需要跳转的路径')----重定向
3,HttpResponse 本质:都是返回HttpResponse的对象
七,pycharm连接mysql
1,在settings中添加设置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'admin', 'NAME': 'lqz', } }
2,在views里面创建连接
下面进行数据库链接 from django.http.request import QueryDict conn = pymysql.connect(host='127.0.0.1' post=3306 db='db1',user='root', password='admin') cur = conn.cursor() # 已经创建好连接,进行数据比对 cur.execute('select * from user where name=%s and password=%s', [name,pwd]) # 寻找出对比的结果 user = cur.fetchone()
八,orm介绍
1,ORM即object Relational Mapping,全称:对象关系映射
2,缺点: 可能sql的效率低
3,如何使用:
需要在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,需要在models中设置数据库模板,设置好了以后,需要在pycharm里面的命令行中输入
1 python3 manage.py makemigrations ----记录一下数据库的变化
2 python3 manage.py migrate ----将变化同步到数据库中