第53天:Django实现代码及配置文件、Django连接mysql及ORM介绍

基于Django实现代码

URL控制器

python 复制代码
from django.conf.urls import url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index),
]

视图

python 复制代码
from django.shortcuts import render


def index(request):
    print('request')
    return render(request, 'index.html')

模板文件

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>

</head>
<body>
<h1>第一个模板文件</h1>
</body>
</html>

全局配置文件

python 复制代码
LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

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',
]

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config', # 这是全写
]

Django静态文件配置

static

python 复制代码
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

mycss.css

css 复制代码
h4{
    color:red;
}

myjs.js

javascript 复制代码
$('h4').click(function () {
    $(this).css("color","green");
})

insex.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/mycss.css">
    <script src="/static/jquery-3.3.1.js"></script>

</head>
<body>
<h4>我是红色,点击变绿</h4>
</body>
<script src="/static/myjs.js"></script>
</html>

django链接数据库

配置完链接数据的代码之后,Django默认启动不起来了,原因是:内部使用的链接模块用的是mysqldb,但我们不使用这个模块,我们使用pymysql模块。

如何更换pymysql

在任意的__init__.py文件中添加一下代码

python 复制代码
import pymysql
pymysql.install_as_MySQLdb()

orm介绍

orm即对象映射模型,在Django中操作数据库就不用在写原生的SQL语句,而是使用面向对象的语法和一些方法来操作数据库。

直接编写原生sql语句会存在以下缺点:

  1. sql语句的执行效率问题:应用开发程序员需要耗费一大部分精力去优化sql语句。

  2. 数据库迁移问题:针对mysql开发的sql语句无法直接应用到oracle数据库上,一旦需要迁移数据库,便需要考虑跨平台问题。

orm在哪里书写:

models.py这个文件

数据库迁移命令

python 复制代码
python38 manage.py makemigrations
python38 manage.py migrate
相关推荐
IT19951 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
paopaokaka_luck4 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
2501_944521595 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
lzhdim5 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
这个DBA有点耶8 小时前
2026年国产数据库“实际用户增长最快”核验指南:口径优先级、可查数据与选型动作清单
数据库·mysql·架构
程序员塔塔喵8 小时前
【MySQL篇|第三篇】脏读,幻读,不可重复读
数据库·mysql·不可重复读·幻读·脏读
这个DBA有点耶9 小时前
备份成功≠数据可恢复:静默损坏会让物理备份把坏页一起带走
数据库·mysql·代码规范
数据库小学妹9 小时前
MySQL MDL锁等待排查:DDL卡住与长事务定位
数据库·后端·mysql
lhdz_bj10 小时前
Mysql Server配置详解
mysql·配置·file·config·1024程序员节·option·选项
syagain_zsx13 小时前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节