一、安裝和卸載django
首先安裝django,cmd在命令行窗口執行如下命令即可
pip3 install django==1.11.11 (指定django版本),安裝的過程會慢一點(或者pip install django==1.11.11該命令也可以安裝)
pip3 uninstall django (卸載django)
pip3 list 查看當前Python解釋器安裝了哪些第三方包
二、創建django項目
File-New Project
創建完成后,初始如下:app01里面主要寫大項目的不同功能,templates下面放html文件
如果一個app01不夠用,想再創建一個app02的話,需要命令行方式,創建完之后需要在django項目中注冊一下
首先進入到項目的目錄下,執行python manage.py startapp app02,回車
執行完命令后,會發現多了個app02,目錄結構和app01一樣
在django項目中進行注冊,mysite下面的settings文件中進行
三、開始寫django項目
第一步、django項目先從mysite下的urls開始寫起
第二步,去app下的views模塊寫函數
第三步,在templates目錄下寫html頁面
第四步,使用bootstrap寫頁面樣式
1)先在mysite項目下,創建static文件下,再下載bootstrap-3.3.7,放到static文件夾下
2)再在mysite下的settings中寫上如下:
#靜態文件實際保存的目錄是哪一些
STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static')
]
3)再在html文件中引用bootstrap,link標簽
4)https://v3.bootcss.com/,Bootstrap下選擇全局CSS樣式
直接復制想要的樣式,去掉沒用的,改改就可以了
例子如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>歡迎登陸</title> <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.min.css"> </head> <body> <h1>開業了 </h1> <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4"> 這塊放置bootstrap復制進來的樣式 </div> </div> </div> </body> </html>
第五步,樣式問題解決之后,我們開始優化登錄頁面輸入用戶名密碼之后跳轉到首頁
獲得登錄頁面是get請求,輸入用戶名和密碼之后,點擊提交是post請求,我們根據不同的請求方式,重新寫登錄函數。
1)首先在login.html上寫上請求方式
2)app01下的views函數
2.1)

from django.shortcuts import HttpResponse,render,redirect # Create your views here. def login(request): ''' 給用戶返回一個頁面,用來做登陸 :param request: :return: ''' print(request.method) if request.method == 'POST': print(request.POST) #是一個大字典 username=request.POST.get("username","") #從大字典中取值,取不到默認為空,不會報錯 pwd=request.POST.get("password","") if username == "harry" and pwd =="123": return redirect('/index/') else: return HttpResponse("登錄失敗!") return render(request, 'login.html')
函數中引入django常用的這三個:HttpResponse,render,redirect
from django.shortcuts import HttpResponse,render,redirect
小知識點講解:
request.POST打印出的結果是個字典:<QueryDict: {'username': ['haxxy'], 'password': ['12XXX']}>
這個字典里面為什么是username和password,這是因為login.html文件中,form表單中用戶名name屬性:name="username,密碼的name屬性:name="password"
2.2)寫首頁樣式(templates下)和函數(app01下的views中)
def index(request):
return render(request,'index.html')
四、遇到問題,如何解決
如果輸入用戶名和密碼之后,出現如下頁面(403):
解決辦法:mysite下的settings下,找到MIDDLEWARE下的# 'django.middleware.csrf.CsrfViewMiddleware',注釋掉即可
五、知識講解
1)Django項目是如何知道去templates下面找html文件的?原因看截圖
六、從網上下載一個登錄頁面,如何用到自己的django項目中?
舉例:從網上下載了一個登錄頁面,加壓后有如下的文件:
那么在static文件下創建一個文件夾如login,login文件夾下創建css和img,把styles.css文件放到新創建的css文件夾下,把bg-image.jpeg圖片放到img下面,
把index1.html文件拷貝到templates文件夾下。
1)記得改css下的圖片路徑,某則頁面找不到圖片。如下圖,可以更換圖片:
2)index1.html(我的項目里,把index1.html改名為login.html)里面,需要改css的加載路徑:
如此就實現了搬磚后的頁面效果,看頁面上哪些東西不需要的,直接刪除注釋即可!