1、Django配置前面已經將開發(fā)環(huán)境準備好了,可以開始進行靜態(tài)網頁的開發(fā)。

先介紹一下django的目" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網站運營 > 【實戰(zhàn)演練】Python+Django網站開發(fā)系列03-Django初始配置與靜態(tài)Index頁面開發(fā)

【實戰(zhàn)演練】Python+Django網站開發(fā)系列03-Django初始配置與靜態(tài)Index頁面開發(fā)

時間:2023-05-29 03:27:02 | 來源:網站運營

時間:2023-05-29 03:27:02 來源:網站運營

【實戰(zhàn)演練】Python+Django網站開發(fā)系列03-Django初始配置與靜態(tài)Index頁面開發(fā):#本文歡迎轉載,轉載請注明出處和作者。

1、Django配置

前面已經將開發(fā)環(huán)境準備好了,可以開始進行靜態(tài)網頁的開發(fā)。

先介紹一下django的目錄與文件結構,有幾個文件需要重點掌握的:

settings.py #用來配置django項目的基本信息的,包括連接的數據庫的數據庫實例名,端口,用戶名密碼等。

urls.py #用來記錄路由數據的,這個不是網絡專業(yè)的ip route路由的意思,是例如你訪問127.0.0.1:8000/index,后面的index路由到什么函數來處理的意思。

views.py #用來編寫業(yè)務邏輯的,所謂業(yè)務邏輯,其實就是函數,上面的路由會根據urls調用views的函數

models.py #是用來創(chuàng)建數據庫表的,包括表名,字段,字段的數據類型等

另外還有2個目錄需要掌握:

templates #用來放置靜態(tài)頁面的

static #用來放置css、js、img(圖片)等文件的

初始化配置

項目初始化建立后,最主要的僅有settings.py與urls.py。

另外,由于django是可以支持模塊化開發(fā)的,因此在進行具體的業(yè)務邏輯開發(fā)前,需要創(chuàng)建app(相當于功能模塊),在下方terminal窗口輸入如下命令:

django-admin startapp stumgr自動創(chuàng)建了相關的app目錄,里面models.py與views.py是最重要的。

models.py是用來規(guī)定數據庫表以及具體字段。

views.py是用來編寫具體的業(yè)務邏輯的。

另外,靜態(tài)頁面文件一般要求放置在templates目錄下,js、css等文件要求放置在static目錄下,這兩個目錄也需要手動創(chuàng)建。

創(chuàng)建后,django是無法使用該兩個目錄的,所以還需要修改settings.py的配置。

在INSTALLED_APPS下面,安裝剛創(chuàng)建的app。

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'stumgr',]禁用CSRF跨站***阻止,在前面加#號。

MIDDLEWARE =[#'django.middleware.csrf.CsrfViewMiddleware',]修改templates的目錄,因為windows系統(tǒng)問題,需要將/替換為//,才能正常工作。templates是存放html靜態(tài)文件的默認位置。

TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates'.replace('//','/'))]修改數據庫配置,原為

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}修改為(按照實際修改)

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'stumgr', 'HOST':'localhost', 'USER':'root', 'PASSWORD':'1qaz!QAZ', 'PORT':3306, }最后settings最底下增加static目錄配置,這個是配置css、js等靜態(tài)文件的默認位置的。

STATIC_URL = '/static/'STATICFILES_DIRS=( os.path.join(BASE_DIR,'static'.replace('//','/')),)到數據庫創(chuàng)建stumgr數據庫

在terminal,運行,進行數據庫的初始化。

python manage.py makemigrations如果已經提前安裝了mysqlclient,會順利進行,否則會報錯,提示 Error loading MySQLdb module。

【python2.7】

如果是python2.7用戶,可以安裝pymysql。

點擊files->settings->可以安裝擴展的包,由于django需要與mysql數據庫交互,請點擊+,然后安裝pymysql

修改school目錄下的__init__.py

import pymysqlpymysql.install_as_MySQLdb()【python3】

開發(fā)機安裝mysqlclient

pip install mysqlclient并且創(chuàng)建工程的時候,需要勾選:

重新運行命令

python manage.py makemigrationspython manage.py migrate提示數據庫表創(chuàng)建完成,查看數據庫,發(fā)現數據庫表已經自動創(chuàng)建成功。

在templates目錄下創(chuàng)建index.html文件,填寫”HelloWorld“

然后需要編輯school下面的urls.py文件,在里面增加對stumgr的urlspy的包含。

這里的意思是,域名后面任意的后綴,都交給stumgr下面的urls文件來解析路由。

from django.conf.urls import url,includefrom django.contrib import adminurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^',include('stumgr.urls')),]然后再stumgr下面手動增加一個urls.py文件,將school下面的urls.py文件內容復制粘貼,再進行修改。

這里才是每個url后綴,真正對應views里面哪個函數的路由。^與$是正則表達式符號,^表示以XX開頭,$表示以XX結尾。^$表示中間什么都沒有,就是127.0.0.1:8000后面什么都沒有跟,就匹配這條路由。^index/表示匹配127.0.0.1:8000/index/這條url,后面跟的是對應調用views里面哪個函數。

from django.conf.urls import urlfrom stumgr.views import *urlpatterns = [ url(r'^$', index), url(r'^index/',index),]然后編寫views.py,import的地方,使用默認的render,

創(chuàng)建函數index,定義函數需要執(zhí)行什么業(yè)務邏輯,暫時僅作頁面返回。

from django.shortcuts import render# Create your views here.def index(request): return render(request,'index.html')runserver運行web服務。

python manage.py runserver打開瀏覽器訪問http://localhost:8000以及http://localhost:8000/index/嘗試,如果能夠成功訪問,則證明一切配置正常。

2、HTML簡介

2.1 HTML標簽簡介

html叫做超文本標記語言,與一般的編程語言不一樣,可以理解為,它就是一種告訴瀏覽器每種頁面元素怎么擺放的語言就可以了,簡單介紹一下常用的html標簽,更多的html介紹可以參考w3school的教程。

<h></h>標題

<P></p>段落

<img src="">圖片標簽

<a href+"">超鏈接標簽

<table></table>表格標簽

<tr></tr>表格行

<th></th>表格標題

<td></td>表格列

<div></div>區(qū)域標簽

<title></title>頁面標簽的標題

<header></header>html頭,一般書寫編碼方式,title,引入css、js等

<body></body>頁面具體正文內容

2.2 編寫第2個html頁面

在templates下面創(chuàng)建一個temp.html文件,簡單利用一下上面介紹的標簽,編寫一個頁面進行測試。

2.2.1創(chuàng)建html頁面

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>這是第一個HTML頁面</title></head><body><h1>這是我的網站大標題</h1><h2>這是我的網站子標題</h2><div> <p1>這是第一行內容</p1></div><div> <p2>這是第二行內容</p2></div><table border="1"> <tr> <th>第一列</th> <th>第二列</th> <th>第三列</th> </tr> <tr> <td> 1.1 </td> <td> 1.2 </td> <td> 1.3 </td> </tr></table><div><a href="/index/">跳轉到index</a></div><div><img src="/static/images/timg.jpg" width="640" height="480"></div></body></html>其中<img>標簽中,需要將測試圖片放到/static/images/文件夾下,如果images文件夾不存在可以自行創(chuàng)建,文件名按照實際圖片名修改。

點擊<a>標簽,應該能夠自動跳轉index頁面(Hello World頁面)。

2.2.2URL添加路由

編輯stumgr下面的urls.py文件,添加路由,相當于告知django,用戶訪問127.0.0.1:8000/temp/這條url,調用什么函數。

urlpatterns = [ ...... url(r'^temp/', temp),]2.2.3views添加函數

添加具體的函數,這里只是簡單返回靜態(tài)頁面,所以函數基本上沒有什么具體內容。

def temp(request): return render(request,'temp.html')2.2.4訪問測試

至此,我們已經掌握了如何做純html網頁頁面的開發(fā)了,總結一下:

1)在templates目錄下面創(chuàng)建html文件,然后在html文件下面以html語言編寫需要的內容。

2)編輯app下面的urls.py,增加url路由,并且指定用views里面什么函數響應。

3)編輯views,編寫具體的函數。

然后靜態(tài)頁面就能夠正常訪問了。

關鍵詞:配置,靜態(tài),系列,實戰(zhàn)

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉