python+Django+pycharm+mysql 搭建首個(gè)web項(xiàng)目詳解
本文實(shí)例講述了python+Django+pycharm+mysql 搭建首個(gè)web項(xiàng)目。分享給大家供大家參考,具體如下:
前面的文章記錄了環(huán)境搭建的過程,本節(jié)記錄首個(gè)web項(xiàng)目調(diào)試
首先檢查安裝的模塊,輸入dos命令 pip list, 會(huì)顯示已安裝的模塊,看是否有Django,PyMySQL模塊
C:\Users\Administrator\PycharmProjects>pip list DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to di sable this warning. Django (2.0.1) pip (9.0.1) PyMySQL (0.8.0) pytz (2017.3) setuptools (28.8.0)
1、然后開始創(chuàng)建項(xiàng)目: 運(yùn)行PyCharm, 菜單選File->New project 彈出對(duì)話框
在對(duì)話框中左側(cè)選Django ,項(xiàng)目名稱修改為mysite,點(diǎn)Create按鈕創(chuàng)建
然后點(diǎn)擊運(yùn)行,即可看到web項(xiàng)目啟動(dòng),并提示 Starting development server at http://127.0.0.1:8000/
點(diǎn)擊鏈接即可在瀏覽器看到默認(rèn)網(wǎng)頁(yè),創(chuàng)建成功
2. 創(chuàng)建APP
在每個(gè)django項(xiàng)目中可以包含多個(gè)APP,相當(dāng)于一個(gè)大型項(xiàng)目中的分系統(tǒng)、子模塊、功能部件等等,相互之間比較獨(dú)立,但也有聯(lián)系。所有的APP共享項(xiàng)目資源。
在pycharm下方的terminal終端中輸入命令:
python manage.py startapp cmdb
這樣就創(chuàng)建了一個(gè)叫做cmdb的APP,django自動(dòng)生成“cmdb”文件夾。
3. 修改mysite\urls.py文件,修改后以下:
from django.urls import path from cmdb import views from django.conf.urls import url urlpatterns = [ # path('admin/', admin.site.urls), url(r'^index/',views.index) ]
4.修改cmdb\views.py文件
from django.shortcuts import render from django.shortcuts import HttpResponse import pymysql # Create your views here. # 打開數(shù)據(jù)庫(kù)連接 db = pymysql.connect(host="192.168.1.100", user="root", password="abc123", db="testdb", port=3306) # 使用cursor()方法獲取操作游標(biāo) cur = db.cursor() def index(request): start = 10 limit = 10 if request.method == "POST": start = request.POST.get("start", None) limit = request.POST.get("limit", None) sql = "SELECT * FROM `siterecord` WHERE 1 limit %s,%s" % (start, limit) try: cur.execute(sql) # 執(zhí)行sql語(yǔ)句 results = cur.fetchall() # 獲取查詢的所有記錄 except Exception as e: raise e return render(request, "index.html", {"results":results})
主要是連接數(shù)據(jù)庫(kù),根據(jù)網(wǎng)頁(yè)界面輸入的start,limit查詢數(shù)據(jù)庫(kù)記錄,并把記錄返回給頁(yè)面輸出
5.創(chuàng)建template\index.html文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="/static/js/test.js"></script> </head> 用戶輸入 <hr> <form action="/index/" method="post"> 開始: <input type="text" name="start"/><br> 條數(shù):<input type="text" name="limit"/><br> <input type="submit" value="提交"><br> </form> <hr> <h1>訪問記錄展示</h1> <table border="1"> <thead> <th>id</th> <th>softid</th> <th>visittime</th> <th>ip</th> </thead> <tbody> {% for row in results %} <tr> <td>{{ row.0 }}</td> <td>{{ row.1 }}</td> <td>{{ row.2 }}</td> <td>{{ row.3 }}</td> <tr> {% endfor %} </tr> </tbody> </table> </body> </html>
該網(wǎng)頁(yè)提示輸入?yún)?shù),并把查詢數(shù)據(jù)庫(kù)結(jié)果用表格展示出來,此外,為了測(cè)試靜態(tài)文檔目錄,引入了一個(gè)js文檔
6.增加static目錄,存放img、css、js等靜態(tài)文檔
與cmdb同級(jí)建立目錄static,目錄下建imgs,css,js三個(gè)子目錄
然后修改mysite\setting.py文件,增加以下內(nèi)容
# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/' STATICFILES_DIRS=( os.path.join(BASE_DIR, 'static'), )
這樣index.html文檔中就可以引用圖片,css,js等靜態(tài)文檔了
7.重啟django服務(wù)器,在瀏覽器欄輸入
http://127.0.0.1:8000/index/
注意后面/index/不能缺少
如果出現(xiàn)跨域禁止,修改mysite\setting.py,注釋掉以下這行
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', ]
'django.middleware.csrf.CsrfViewMiddleware',
這行注釋掉即可
8.看到成果了
網(wǎng)頁(yè)根據(jù)你輸入的開始和條數(shù)展示數(shù)據(jù)庫(kù)查詢記錄
注意本項(xiàng)目的windowsserver2012上并沒有安裝mysql數(shù)據(jù)庫(kù),查詢連接的是另外一臺(tái)電腦上的linux系統(tǒng)中的mysql.
希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python and、or以及and-or語(yǔ)法總結(jié)
這篇文章主要介紹了Python and、or以及and-or語(yǔ)法總結(jié),本文分別給出實(shí)例講解它們的使用方法,需要的朋友可以參考下2015-04-04Python 稀疏矩陣-sparse 存儲(chǔ)和轉(zhuǎn)換
這篇文章主要介紹了Python 稀疏矩陣-sparse 存儲(chǔ)和轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2017-05-05Centos 升級(jí)到python3后pip 無(wú)法使用的解決方法
今天小編就為大家分享一篇Centos 升級(jí)到python3后pip 無(wú)法使用的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06python使用pip安裝SciPy、SymPy、matplotlib教程
今天小編大家分享一篇python使用pip安裝SciPy、SymPy、matplotlib教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11python實(shí)現(xiàn)簡(jiǎn)單購(gòu)物商城
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單購(gòu)物商城的相關(guān)資料,具有實(shí)用性和一定的參考價(jià)值,感興趣的朋友可以參考一下2016-05-05python?cv2.waitKey()函數(shù)的使用
這篇文章主要介紹了python?cv2.waitKey()函數(shù)的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Flask框架學(xué)習(xí)筆記之路由和反向路由詳解【圖文與實(shí)例】
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之路由和反向路由,結(jié)合圖文與實(shí)例形式詳細(xì)分析了flask框架中路由與反向路由相關(guān)概念、原理、用法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-08-08python語(yǔ)言線程標(biāo)準(zhǔn)庫(kù)threading.local解讀總結(jié)
在本篇文章里我們給各位整理了一篇關(guān)于python threading.local源碼解讀的相關(guān)文章知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。2019-11-11