前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django项目开发环境搭建登录页面笔记1

Django项目开发环境搭建登录页面笔记1

作者头像
玖柒的小窝
修改2021-09-16 14:35:24
7810
修改2021-09-16 14:35:24
举报

【摘要】 Python Django 项目的实战笔记。

开发步骤:

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是否已经执行成功

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档