欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python+Django+pycharm+mysql 搭建首個(gè)web項(xiàng)目詳解

 更新時(shí)間:2019年11月29日 09:51:43   作者:領(lǐng)尚  
這篇文章主要介紹了python+Django+pycharm+mysql 搭建首個(gè)web項(xiàng)目,結(jié)合實(shí)例形式詳細(xì)分析了python+Django+pycharm+mysql搭建web項(xiàng)目的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下

本文實(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)文章

最新評(píng)論