pip 命令安装方法html
pip install Django``` ## 2.是否安装成功 进入cmd,输入python,输入如下字符,若是没有错误提示,证实按照成功
import django
进入你的工做空间,打开cmd输入
django-admin.pypython
会出现一堆
Usage: django-admin.py subcommand [options] [args]mysql
Options:
-v VERBOSITY, --verbosity=VERBOSITY
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
–settings=SETTINGS The Python path to a settings module, e.g.
“myproject.settings.main”. If this isn’t provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
–pythonpath=PYTHONPATH
A directory to add to the Python path, e.g.
“/home/djangoprojects/myproject”.
–traceback Raise on exception
–version show program’s version number and exit
-h, --help show this help message and exitweb
Type 'django-admin.py help ’ for help on a specific subcommand.sql
Available subcommands:数据库
[django]
check
cleanup
compilemessages
createcachetable
……省略部分……django
没报错,就能够 ## 3.建立第一个项目 使用 django-admin.py 来建立 HelloWorld 项目: ```django-admin.py startproject HelloWorld``` 最新版的 Django 请使用 django-admin 命令: ```django-admin startproject HelloWorld``` 建立完成后咱们能够查看下项目的目录结构:
$ cd HelloWorld/
$ tree
.
|-- HelloWorld
| |-- init.py
| |-- settings.py
| |-- urls.py
| -- wsgi.py
– manage.py服务器
目录说明:
HelloWorld: 项目的容器。
manage.py: 一个实用的命令行工具,可以让你以各类方式与该 Django 项目进行交互。
HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
HelloWorld/settings.py: 该 Django 项目的设置/配置。
HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。app
接下来咱们进入 HelloWorld 目录输入如下命令,启动服务器:
python manage.py runserver 0.0.0.0:8000```ide
访问项目 localhost:8000
若是出现正常的欢迎页面,就证实建立项目成功
视图和 URL 配置
在先前建立的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:
HelloWorld/HelloWorld/view.py
文件代码:
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ! ") ``` 接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将如下代码复制粘贴到 urls.py 文件中: `HelloWorld/HelloWorld/urls.py` 文件代码:
from django.conf.urls import url
from . import view
urlpatterns = [
url(r’^$’, view.hello),
]
# 2.建立模板 `PS:一句话,模板就是静态页面`
在 HelloWorld 目录底下建立 templates 目录并创建 hello.html文件,整个目录结构以下:
HelloWorld/
|-- HelloWorld
| |-- init.py
| |-- init.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- view.py
| |-- view.pyc
| |-- wsgi.py
| -- wsgi.pyc |-- manage.py
– templates
`-- hello.html
html里面写
HelloWorld/HelloWorld/settings.py 文件代码:
注意注释地方,改这一处便可
...TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [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', ], }, }, ]
HelloWorld/HelloWorld/view.py 文件代码:
# -*- coding: utf-8 -*- #from django.http import HttpResponse from django.shortcuts import render def hello(request): context = {} context['hello'] = 'Hello World!' return render(request, 'hello.html', context)
咱们这里使用 render 来替代以前使用的 HttpResponse。render 还使用了一个字典 context 做为参数。
context 字典中元素的键值 “hello” 对应了模板中的变量 “{{ hello }}”。
再访问访问 http://127.0.0.1:8000/hello,能够看到页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div> <h1>列表</h1> <table border="1px" cellpadding="10px" cellspacing="0px"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> <th>操做</th> </tr> {% for user in userList %} <tr> <td width="100px">{{ user.ID }}</td> <td width="400px">{{ user.USER_NAME }}</td> <td width="20px">{{ user.USER_AGE }}</td> <td><a href="/delete?id={{user.ID}}"> 刪除 </a></td> </tr> {% endfor %} </table> </div> <hr/> <div> <h1>添加</h1> <form action="/add" method="get"> {% csrf_token %} <table border="1px" cellpadding="10px" cellspacing="0px"> <tr> <td><span>ID:</span><input type="text" name="id"></td> <td><span>Name:</span><input type="text" name="name"></td> <td><span>Age:</span><input type="text" name="age"></td> <td><input class="button" type="submit"></input></td> </tr> </table> </form> </div> </body> </html> <style> input{ border: 2px solid black; padding-left: 20px; font-size: 20px; } span{ padding: 20px; font-family: "Adobe Devanagari"; font-weight: bolder; font-size: 25px; } .button{ width: 70px; height: 40px; background-color: aquamarine; color: cornflowerblue; font-weight: bolder; font-size: 14px; opacity: 0.9; border-radius: 10px; } hr{ width: 80%; height: 2px; margin: 20px; } a{ width: 220px; height: 40px; background-color: deepskyblue; color: black; font-weight: bolder; font-size: 14px; opacity: 0.9; border-radius: 10px; } </style>
#from django.http import HttpResponse import pymysql # 数据库驱动 from django.http import HttpResponse # http响应 from django.shortcuts import render #跳转页面 from django.views.decorators import csrf #数据库链接 connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='root', db='test',charset='utf8', cursorclass=pymysql.cursors.DictCursor) #建立数据库链接“执行”对象 cur = connection.cursor() #当我第一次进页面的时候,查询所有 def hello(request): context = {} #封装返回参数 sql = "SELECT * FROM user_py" # 执行SQL语句 cur.execute(sql) # 获取全部记录列表 results = cur.fetchall() #查询全部 context['userList'] = results #存入集合 return render(request, 'index.html', context) #request,地址,参数 # 无视这个方法 def test(): print("test -- ") # 添加 def add(request): request.encoding = 'utf-8' fuck = str(request) #这边获取的是url values = fuck.split('?')[-1].rstrip("'>") #对url进行处理 param_list = values.split('&') # 获取请求参数集合list print(param_list[1]) # 不获取第0个,第0个为token,从第一个获取 print(param_list[2]) print(param_list[3]) id = param_list[1].split('=')[1] #这边进行分割,由于原始字符串为 “id=1” name = param_list[2].split('=')[1] age = param_list[3].split('=')[1] print(id,name,age) insert_sql = f"""INSERT INTO USER_PY(`ID`,`USER_NAME`,`USER_AGE`)values({id},"{name}",{age})""" print(insert_sql) cur.execute(insert_sql) connection.commit() # 这边注意必定要提交 print("插入成功") return HttpResponse(request) # 删除 def delete(request): request.encoding = 'utf-8' fuck = str(request) values = fuck.split('?')[-1].rstrip("'>") param_list = values.split('&') id = param_list[0].split('=')[1] delete_sql = "DELETE FROM USER_PY WHERE ID = " + id cur.execute(delete_sql) print("删除成功") connection.commit() return HttpResponse(request) # def hello(request): # return HttpResponse("Hello world ! ")
CREATE TABLE `user_py` ( `ID` int(11) NOT NULL, `USER_NAME` char(20) NOT NULL, `USER_AGE` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这边作的比较简陋,点击删除,跳的是空页,添加也是,添加完成后要刷新主页面才会出现新的数据,数据库里面是已经添加成功的。
工做之余作的,望理解,修改未作,逻辑清楚修改已经不是问题
全套crud请看《python对mysql增删改查+计算器+九九乘法表》 该篇文章 若是感受不错,请点赞,赞扬下哦,点击下面赞扬