前面已經將開發環境準備好了,能夠開始進行靜態網頁的開發。css
先介紹一下django的目錄與文件結構,有幾個文件須要重點掌握的:html
settings.py #用來配置django項目的基本信息的,包括鏈接的數據庫的數據庫實例名,端口,用戶名密碼等。前端
urls.py #用來記錄路由數據的,這個不是網絡專業的ip route路由的意思,是例如你訪問127.0.0.1:8000/index,後面的index路由到什麼函數來處理的意思。python
views.py #用來編寫業務邏輯的,所謂業務邏輯,其實就是函數,上面的路由會根據urls調用views的函數mysql
models.py #是用來建立數據庫表的,包括表名,字段,字段的數據類型等web
另外還有2個目錄須要掌握:sql
templates #用來放置靜態頁面的數據庫
static #用來放置css、js、img(圖片)等文件的django
初始化配置windows
項目初始化創建後,最主要的僅有settings.py與urls.py。
另外,因爲django是能夠支持模塊化開發的,所以在進行具體的業務邏輯開發前,須要建立app(至關於功能模塊)
django-admin startapp stumgr
自動建立了相關的app目錄,裏面models.py與views.py是最重要的。
models.py是用來規定數據庫表以及具體字段。
views.py是用來編寫具體的業務邏輯的。
另外,靜態頁面文件通常要求放置在templates目錄下,js、css等文件要求放置在static目錄下,這兩個目錄也須要手動建立。
建立後,django是沒法使用該兩個目錄的,因此還須要修改settings.py的配置。
在INSTALLED_APPS下面,安裝剛建立的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系統問題,須要將/替換爲\\,才能正常工做。
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目錄配置
STATIC_URL = '/static/'
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'.replace('\\','/')),
)
點擊files->settings->能夠安裝擴展的包,因爲django須要與mysql數據庫交互,請點擊+,而後安裝pymysql
在terminal,運行,進行數據庫的初始化。
python manage.py makemigrations
而後會報錯,提示缺乏MySQL-python,因爲python2沒法安裝MySQL-python,須要安裝pymysql來替代。
修改school目錄下的__init__.py
import pymysql
pymysql.install_as_MySQLdb()
到數據庫建立stumgr數據庫
從新運行命令
python manage.py makemigrations
python manage.py migrate
提示數據庫表建立完成,查看數據庫,發現數據庫表已經自動建立成功。
在templates目錄下建立index.html文件,填寫」HelloWorld「
而後須要編寫views.py,import的地方,追加導入render_to_response,
建立函數index,定義函數須要執行什麼業務邏輯,暫時僅做頁面返回,使用return render_to_response,
後面的locals()的意思是,若是函數裏面有什麼參數,將全部的參數值返回到前端頁面。
from django.shortcuts import render,render_to_response
# Create your views here.
def index(request):
return render_to_response('index.html',locals())
而後修改urls.py,在裏面添加index的路由記錄。
from stumgr.views import *
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', index),
]
runserver運行web服務。
python manage.py runserver
打開瀏覽器訪問http://localhost:8080/index嘗試,若是可以成功訪問,則證實一切配置正常。