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增刪改查+計算器+九九乘法表》 該篇文章 若是感受不錯,請點贊,讚揚下哦,點擊下面讚揚