python:前端(HTML)+后端(Django)+数据库(MySQL)

1、创建一个html文件用于简单的网页注册demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body><!--表单域,action用于将获取的到信息提交到后台地址-->
<form action="save" method="get">
    <span>
        用户:<input type="text" name="username">
    </span>
    <br>
    <span>
        密码:<input type="password" name="password">
    </span>
    <br>
    <span>
        <input type="submit" name="submit1" value="注册">
    </span>

</form>
</body>
</html>

2、创建一个html文件用于简单的网页登录demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body>
<form action="query" method="get">
    <span>
        用户:<input type="text" name="username">
    </span>
    <br>
    <span>
        密码:<input type="password" name="password">
    </span>
    <br>
    <span>
        <input type="submit" name="submit1" value="登录">
    </span>

</form>
</body>
</html>
 

3、创建一个Django项目,并将刚才的两个html文件放入template模板文件夹中

4、打开Django项目下默认生成的urls.py文件,进行一些业务功能的编辑

"""Django01 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path(‘‘, views.home, name=‘home‘)
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path(‘‘, Home.as_view(), name=‘home‘)
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path(‘blog/‘, include(‘blog.urls‘))
"""
from django.contrib import admin
from django.urls import path
from django.shortcuts import render
from django.shortcuts import HttpResponse
import pymysql
#登录页面
def login(request):
    #指定要访问的页面,render的功能:讲请求的页面结果提交给客户端
    return render(request,‘login.html‘)
#注册页面
def regiter(request):
    return render(request,‘regiter.html‘)
#定义一个函数,用来保存注册的数据
def save(request):
    has_regiter = 0#用来记录当前账号是否已存在,0:不存在 1:已存在
    a = request.GET#获取get()请求
    #print(a)
    #通过get()请求获取前段提交的数据
    userName = a.get(‘username‘)
    passWord = a.get(‘password‘)
    #print(userName,passWord)
    #连接数据库
    db = pymysql.connect(‘127.0.0.1‘,‘root‘,‘123‘,‘db2‘)
    #创建游标
    cursor = db.cursor()
    #SQL语句
    sql1 = ‘select * from user1‘
    #执行SQL语句
    cursor.execute(sql1)
    #查询到所有的数据存储到all_users中
    all_users = cursor.fetchall()
    i = 0
    while i < len(all_users):
        if userName in all_users[i]:
            ##表示该账号已经存在
            has_regiter = 1

        i += 1
    if has_regiter == 0:
        # 将用户名与密码插入到数据库中
        sql2 = ‘insert into user1(username,password) values(%s,%s)‘
        cursor.execute(sql2,(userName,passWord))
        db.commit()
        cursor.close()
        db.close()
        return HttpResponse(‘注册成功‘)
    else:

        cursor.close()
        db.close()
        return HttpResponse(‘该账号已存在‘)

def query(request):
    a = request.GET
    userName = a.get(‘username‘)
    passWord = a.get(‘password‘)
    user_tup = (userName,passWord)
    db = pymysql.connect(‘127.0.0.1‘,‘root‘,‘123‘,‘db2‘)
    cursor = db.cursor()
    sql = ‘select * from user1‘
    cursor.execute(sql)
    all_users = cursor.fetchall()
    cursor.close()
    db.close()
    has_user = 0
    i = 0
    while i < len(all_users):
        if user_tup == all_users[i]:
            has_user = 1
        i += 1
    if has_user == 1:
        return HttpResponse(‘登录成功‘)
    else:
        return HttpResponse(‘用户名或密码有误‘)
urlpatterns = [
    path(‘admin/‘, admin.site.urls),#系统默认创建的
    path(‘login/‘,login),#用于打开登录页面
    path(‘regiter/‘,regiter),#用于打开注册页面
    path(‘regiter/save‘,save),#输入用户名密码后交给后台save函数处理
    path(‘login/query‘,query)#输入用户名密码后交给后台query函数处理

]

5、运行整个Django项目,访问相应的url

数据库数据情况:

后台状态信息

再次查看数据库数据:

6、再次进行登录操作,打开登录的url

测试一个用户名错误情况:

原文地址:https://www.cnblogs.com/ilovepython/p/10776850.html

时间: 2024-10-17 10:09:39

python:前端(HTML)+后端(Django)+数据库(MySQL)的相关文章

python学习之--Django--连接数据库mysql创建model

1. 建立一个project 2. 创建第一个页面 3. 创建一个app 4. 然后给app增加一个页面 4.1 在setting里面配置: 在my_project的url中添加 在app1的urls中添加 创建views 然后 就可以通过127.0.0.1:8000  访问了 5. 配置数据库 在setting中修改database信息 check看是否连接上数据库 在我的workbench中可以看到生成了默认的table 接下来我们自己建立model (需要继承models.Model) 运

python——django使用mysql数据库(一)

之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有些有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经拥有一个django项目.已安装MySQLdb,进入mysql创建一个新的库(注意,这里必须是新的库,如果库里已经有表,就会出问题.) 修改配置项:打开已经创建好的django项目,在INSTALLED_APPS添加自己的工程名称.修改DATABASES项中配置的内容. INSTALLED_APPS

Django链接MySQL,数据库迁移

form表单默认是以get请求提交数据的 http://127.0.0.1:8000/login/?username=admin&password=123 action 1 不写,默认向当前地址提交数据 2 全路径 3 后缀(/index) 提交post请求的时候,需要先去配置文件中注释掉一行 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.Se

django配置mysql数据库

安装完python后,安装python-mysql来连接mysql数据库,下载地址http://sourceforge.net/projects/mysql-python/,安装很简单,点下一步就可以了,不过要装和你python版本相对应的版本,否则比较蛋疼 安装完成后,配置下django的数据库连接,打开项目的配置文件settings.py,修改DATABASES参数 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql'

python之路-----web应用的创建(python3.4下,django连接mysql)

参考网址: https://github.com/PyMySQL/PyMySQL/ django框架中的一个网站可以包含多个django项目,而一个django项目则包含一组特定的对象,这些对象包括URL的设计.数据库的设计以及其他的一些选项设置. django-admin.py-----它有许多的命令选项,可以通过这些选项来操作项目.其中使用startproject命令选项,可以生成一个项目名的目录,它包括一个基本web应用所需要的文件结构: __init__.py:空文件,主要用来告诉pyt

django 连接mysql 数据库

1.新建一个mysite项目:django-admin startproject mysite 2.进入项目目录,新建一个app : python manage.py startapp polls 3.安装mysqlclient :pip install mysqlclient 4.在settings.py  database中设置数据库连接配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'm

django连接mysql数据库,框架映射数据库模型,省掉sql语句哦

新建一个django项目: 如下图, 添加项目目录文件:test_db,(如果文件不存在,会在该目录下新建一个文件夹) 设置app名称:testdb,在新的窗口打开项目,如图所示 其中,MVC模式中,models.py用于处理M,views.py用于处理V,urls.py用于映射视图. 1.下载pymysql:pip install pymysql 2.在项目__init__.py里添加(不是): import pymysqlpymysql.install_as_MySQLdb()如图所示: m

django 数据库使用(sqlite3和mysql)

一.sqlite3 使用 1.import sqlite3 确认系统中是否安装 2.进入当前项目目录,cmd后运行python,进入命令行模式 3.import sqlite3,    sqlite3.connect('{path\name.db}') #大括号内表示自定义,真实情况没有大括号 4.修改settings.py文件    DATABASES = {     'default': {         'ENGINE': 'django.db.backends.sqlite3',   

Python学习----第七模块笔记(Web开发进阶之Django数据库操作)

4.Django ORM 4.1.连接数据库 创建Django工程后运行该工程,会在工程根目录下创建db.sqlite3文件,为Django自带的sqlite3数据库(Django自带的功能也需要数据库支持),如果没有在settings.py文件中进行配置的话,数据将会保存在该数据库中. Django使用MySQL: # 修改settings.py中DATABASES = {}的内容为 DATABASES = { 'default': { 'ENGINE': 'django.db.backend

Django 配置MySQL数据库

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'mydata', # 你要存储数据的库名,事先要创建之 'USER': 'root', # 数据库用户名 'PASSWORD': '0000', # 密码 'HOST': 'localhost', # 主机 'PORT': '3306', # 数据库使用的端口 } } 添加代码 import pymysql pymysql.insta