• Django入门(二)


    一、Django中的app

      在每一个diango项目中可以包含多个APP,相当于大型项目中的分系统、子模块、功能部件等。相互之间比较独立,但也有联系。

      在pycharm下方的Terminal终端中输入命令:

      ptyhon manage.py startapp app01

      就可以创建一个名为app01的APP,Django自动生成app01文件夹

      创建好之后需要在settings中进行配置注册

    二、模板路径配置

      模板文件一般都存放在templates文件夹下,该文件夹也就是html文件们的归置目录,使用pycharm创建Django项目时,该文件夹是默认添加的,如果是自己建的Django项目,就需要在settings文件夹中进行配置注册。

    三、静态文件配置

      我们可以将html文件返回给用户,但是还需要一些其他类型的文件,如css,js和其他的插件,所有在Django中,一般将静态文件放在static目录中。所以需要在项目目录下新建一个static文件夹。

      为了让Django找到这个目录,依然需要对settings进行配置

      然后在html文件中,就可以引入js文件了

    四、登录功能

    login.html

    <body>
        <!-- action:提交给后台的地址,有三种写法 -->
        <!-- 1.http://127.0.0.1:8000/login -->
        <!-- 2./login/ -->
        <!-- 3.空 -->
        <form action="/login/" method="post">
            <p>
                用户名:<input type="text" name="name" class="form-control">
            </p>
            <p>
                密码:<input type="text" name="pwd" class="form-control">
            </p>
            <input type="submit" value="提交">
        </form>
    </body>

    views.py

    def login(request):
        # request.method--前台提交过来请求的方式
        if request.method == "GET":
            return render(request, "login.html")
        elif request.method == "POST":
            # request.POST(相当于字典)--post形式提交过来的数据
            # request.POST.get("name")--推荐用get取值(取出列表最后一个值)
            name = request.POST.get("name")
            pwd = request.POST.get("pwd")
            # 连接数据库
            conn= pymysql.connect(host='127.0.0.1', port=3306, db='abc',                user='root', password='123456')
            cur = conn.cursor()
            # 防止sql注入漏洞,推荐以下写法
            cur.execute('select * from user where name=%s and password=%s', [name, pwd])
            user = cur.fetchone()
            if user:
                return HttpResponse("登录成功")
            else:
                return HttpResponse("密码或用户名错误")

    五、get请求和post请求

      get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)

      post:往后台提交数据

    六、新手三件套

      1、render:返回页面,默认回去templates中来,所以需要注意路径的配置

      2、redirect:重定向

      3、HttpResponse:返回字符串

    本质都是返回HTTPResponse的对象

    七、ORM介绍

    ORM即Object Relational Mapping,全称为对象关系映射
    
    使用方式:连接mysql数据库
        在settings文件中配置:
        '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()
    
    然后在models文件中新建一个类,该类就是数据库中的数据表
    class User(models.Model):
        # 自增int类型,主键
        id = models.AutoField(primary_key=True)
        # name和pwd是varchar类型,长度是32
        name=models.CharField(max_length=32)
        pwd=models.CharField(max_length=32)
    
    接下来要在pycharm的teminal中通过命令创建数据库的表了。有2条命令,分别是:
    1.python manage.py makemigrations ---记录以下数据库的变化
    2.python manage.py migrate ---将变化同步到数据库中
  • 相关阅读:
    linux下编译GDAL3.x(集成Proj和Geos等)
    CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
    CSS hover伪类改变其他元素的样式
    PHP 删除数组指定元素
    CakePHP 调试方法 汇总
    Linux/Mac OS 在终端使用 code 命令打开项目 VSCode
    苹果 MacOS 安装 Source Code Pro
    MacOS 安装 Homebrew 错误处理 Connection refused
    修改 VSCode 终端 Terminal 的字体
    spring cloud gateway自定义过滤器
  • 原文地址:https://www.cnblogs.com/Mister-JH/p/9911490.html
Copyright © 2020-2023  润新知