Django项目开发环境搭建登录页面笔记1
开发步骤:
1、创建Django项目存放的目录
$ mkdir DjangoDemoPro006
2、进入目录
$ cd DjangoDemoPro006
3、使用django-admin创建Django项目
$ django-admin startproject SmartIoTShopPro
4、进入django项目目录
$ cd SmartIoTShopPro/
5、在Django项目中创建app应用程序
Django中的APP:
project -->项目(例如一所大学)
APP --> 应用 (这所大学中的每一个二级学院)
作用:
方便我们在一个大的Django项目中管理实现不同的业务功能。
创建APP的命令:
$ python3 manage.py startapp minapp
6、在Django项目中创建存放html文件及静态文件的templates目录及static目录
$ mkdir templates $ mkdir static
7、使用PyCharm IDE打开Django项目
8、配置Settings.py文件
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'minapp.apps.MinappConfig' ]
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
templates (存放HTML文件的配置) -->告诉Django去哪儿找我的HTML文件
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
静态文件(CSS、JS、图片)
# 静态文件保存目录的别名 TATIC_URL = '/static/' # 静态文件夹的位置 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ]
9、Terminal运行项目,check所配置是否成功。
Django项目的启动:
1)、命令行启动
在项目的跟目录下(也就是有manage.py的那个目录)运行。
python3 manage.py runserver IP:Port -->在指定的IP 和端口启动
python3 manage.py runserver Port --> 在指定的端口启动
python3 manage.py runserver -->默认在本机的8000端口启动
2)、PyCharm启动
点绿色的小三角,直接启动Django项目(前提是小三角左边是你的Django项目名)
$ python3 manage.py runserver 0.0.0.0:8000
10、添加登录页面功能
1)、原理:
Python web框架的本质
a、收发socket消息 --> 安装HTTP协议消息格式去解析消息。
b、路径和要执行的函数的对应关系 --> 主要业务逻辑
c、字符串替换 --> 模板(特殊符号-->数据)
2)、一个完整的请求流程:
a、启动服务器,等待客户端(用户的浏览器)来连接
b、在浏览器地址栏输入URL,与服务器端建立连接,浏览器发送请求。
c、服务器端收到请求消息,解析请求消息,根据路劲和函数的对应关系,找到将要执行的函数
d、执行函数,打开html 文件,进行字符串的替换,得到最终要返回的html页面的内容。
e、按照HTTP协议的消息格式要求,把HTML内容回复给用户浏览器(发送响应)
f、浏览器收到响应的消息之后,按照html的规则渲染页面。
g、关闭连接。
form表单往后端提交数据注意:
1)、所有获取用户输入的标签都应该放在form里面,并且必须要有name属性。
2)、action属性控制往哪儿提交,method一般都设置成post。
3)、提交按钮必须是type=submit,不能是别的类型。
GET请求和POST请求
GET请求:
a、浏览器请求一个页面。
b、搜索引擎检索关键字的时候。
POST请求:
a、浏览器向服务端提交数据,例如:登录/注册等
数据库ORM
import pymysql
pymysql.connect()
1、不同的程序员写的SQL水平参差不齐
2、执行效率也参差不齐
python语法 -->自动翻译 --> SQL语句
ORM:
优点:
1、简单,不用自己写SQL语句
2、开发效率高
缺点:
1、记忆这个特色的语法
2、相对于大神写的SQL语句,执行的效率有些差距
ORM的关系:
类 -->数据表
对象 -->数据行
属性 -->字段
ORM能做的事:
1、操作数据表 -->创建表/删除表/修改表
操作models.py 里面的类
2、操作数据行 -->数据的增删改查
不能创建数据库,自己手动创建数据库
使用Django的ORM详细步骤:
1、自己手动创建数据库
create database 数据库名;
2、在Django项目中设置连接数据库的相关配置(告诉Django连接那一个数据库)
数据库相关的配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': 'us-cdbr-east-02.cleardb.com', 'PORT': 3306, 'USER': 'bce2121ed982cf', 'PASSWORD': '8a73e1cc', 'NAME': 'heroku_6720b733d3d8bdf', } }
3、告诉Django用pymysql 代替默认的MySQLDB连接MySQL数据库
在项目/__init__.py 文件中,输入
import pymysql # 告诉Django用pymysql来代替默认的MySQLdb pymysql.install_as_MySQLdb()
4、在minapps下面的models.py文件中定义一个类,这个类必须继承models.Model
from django.db import models # Create your models here. class UserInfo(models.Model): id = models.AutoField(primary_key=True) # 创建一个自增的主键字段 name = models.CharField(null=False, max_length=32) # 创建一个varchar(20)类型的不能为空的字段 email = models.CharField(null=False, max_length=50)
5、执行两个命令:
$ python3 manage.py makemigrations
$ python3 manage.py migrate
检查数据库ORM是否已经执行成功
- 点赞
- 收藏
- 关注作者
评论(0)