python+Django+pycharm+mysql 搭建首個web專案詳解
本文例項講述了python+Django+pycharm+mysql 搭建首個web專案。分享給大家供大家參考,具體如下:
前面的文章記錄了環境搭建的過程,本節記錄首個web專案除錯
首先檢查安裝的模組,輸入dos命令 pip list,會顯示已安裝的模組,看是否有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、然後開始建立專案: 執行PyCharm,選單選File->New project 彈出對話方塊
在對話方塊中左側選Django,專案名稱修改為mysite,點Create按鈕建立
然後點選執行,即可看到web專案啟動,並提示Starting development server at http://127.0.0.1:8000/
點選連結即可在瀏覽器看到預設網頁,建立成功
2. 建立APP
在每個django專案中可以包含多個APP,相當於一個大型專案中的分系統、子模組、功能部件等等,相互之間比較獨立,但也有聯絡。所有的APP共享專案資源。
在pycharm下方的terminal終端中輸入命令:
python manage.py startapp cmdb
這樣就建立了一個叫做cmdb的APP,django自動生成“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. # 開啟資料庫連線 db = pymysql.connect(host="192.168.1.100",user="root",password="abc123",db="testdb",port=3306) # 使用cursor()方法獲取操作遊標 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) # 執行sql語句 results = cur.fetchall() # 獲取查詢的所有記錄 except Exception as e: raise e return render(request,"index.html",{"results":results})
主要是連線資料庫,根據網頁介面輸入的start,limit查詢資料庫記錄,並把記錄返回給頁面輸出
5.建立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> 條數:<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>
該網頁提示輸入引數,並把查詢資料庫結果用表格展示出來,此外,為了測試靜態文件目錄,引入了一個js文件
6.增加static目錄,存放img、css、js等靜態文件
與cmdb同級建立目錄static,目錄下建imgs,css,js三個子目錄
然後修改mysite\setting.py檔案,增加以下內容
# 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等靜態文件了
7.重啟django伺服器,在瀏覽器欄輸入
http://127.0.0.1:8000/index/
注意後面/index/不能缺少
如果出現跨域禁止,修改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.看到成果了
網頁根據你輸入的開始和條數展示資料庫查詢記錄
注意本專案的windowsserver2012上並沒有安裝mysql資料庫,查詢連線的是另外一臺電腦上的linux系統中的mysql.
希望本文所述對大家基於Django框架的Python程式設計有所幫助。