基于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语句会存在以下缺点:
sql语句的执行效率问题:应用开发程序员需要耗费一大部分精力去优化sql语句。
数据库迁移问题:针对mysql开发的sql语句无法直接应用到oracle数据库上,一旦需要迁移数据库,便需要考虑跨平台问题。
orm在哪里书写:
models.py这个文件
数据库迁移命令
python
python38 manage.py makemigrations
python38 manage.py migrate