Django、Flask、Tornado並稱為python WEB三大框架。Diango是一個開源的web應用框架,具有開發速度快的特點。同時因為過度封裝,具有性能低的特點。
創建Django項目,啟動
首先,利用anaconda創建出獨立的沙箱環境
conda create -n DjangoPath python=3.5.2 #DjangoPath為沙箱名, python=3.5.2 指定python版本
激活沙箱環境
activate DiangoPath
安裝Django
pip install django==2.1.8 # 指定版本為2.1.8
安裝成功后,可以查看Django的版本
創建第一個Django項目,項目結構如圖所示(ps:忽略views后來自己創建的)
django-admin startproject ArticleBlog # ArticleBlog 為項目名
|-- mysite/ # 項目文件夾[根目錄] |-- mysite/ # 根項目(主項目) |-- __init__.py # 模塊文件 |-- urls.py # 路由文件[url地址和處理函數進行對應] |-- settings.py # 項目的設置配置文件 |-- wsgi.py # 實現了wsgi網關協議的模塊 |-- manage.py # 項目的命令管理模塊[不需要修改,直接使用] 官方介紹:https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial01/ 最外層的:file: mysite/ 根目錄只是你項目的容器, Django 不關心它的名字,你可以將它重命名為任何你喜歡的名字。 manage.py: 一個讓你用各種方式管理 Django 項目的命令行工具。 里面一層的 mysite/ 目錄包含你的項目,它是一個純 Python 包。它的名字就是當你引用它內部任何東西時需要用到的 Python 包名。 (比如 mysite.urls). mysite/__init__.py:一個空文件,告訴 Python 這個目錄應該被認為是一個 Python 包。 mysite/settings.py:Django 項目的配置文件。 mysite/urls.py:Django 項目的 URL 聲明,就像你網站的“目錄”。 mysite/wsgi.py:作為你的項目的運行在 WSGI 兼容的Web服務器上的入口。
啟動項目,可以通過命令或者pycharm啟動
命令啟動, 輸入如下命令啟動項目,ctrl+C 退出
python manage.py runserver [0.0.0.0][:8000] # 0.0.0.0 代表可以訪問次網站的ip,8000為訪問端口號
通過pycharm啟動,打開創建文件的目錄,如果如下圖所示,項目名前面有Dj即為成功,如果沒有需要設置自己的python(裝有模塊Django)安裝的位置,點擊三角,即可運行。
運行成功圖
訪問127.0.0.1:8000,如圖所示,即為成功
編寫Hello,World程序
創建視圖views.py 文件,文件與urls.py 同級,代碼如下
from django.http import HttpResponse def index(request): return HttpResponse("<h1 style='color:red'>hello world</h1>")
在urls.py 中添加代碼,
from ArticleBlog.views import * urlpatterns = [ path('admin/', admin.site.urls), path('index/', index), ]
完整如圖,后面的22-25行,暫時不要加
然后就可以通過http://127.0.0.1:8000/index/訪問,效果圖如下
搭建淘寶手機接口返回手機信息網頁
淘寶接口地址為 https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手機號
在views文件中加入
def getphone(response, phone): data = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 格式化當前時間 url = 'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' + phone resu = requests.get(url=url).text # 請求地址拿到內容 result = re.findall("(\w+):'([^']+)", resu)# 正則匹配鍵值對 dict = {k:v for k, v in result} # 構造字典 return HttpResponse("<h1 style='color:red'>當前時間為:{t}</h1><p style='color:#00FF00;font-size:20px'>{dict}</p>".format(dict=dict,t=data))
在urls.py加入
re_path(r"^getphone/(?P<phone>\d+)$",getphone)
然后就可以通過網址http://127.0.0.1:8000/getphone/15037609692,查詢手機信息,運行結果如圖
如果想通過其他電腦連接本機ip訪問,直接訪問http://ip:8000/index/會出現如下錯誤,可以在settings.py ,修改 ALLOWED_HOSTS的值
ALLOWED_HOSTS = ["*"]
設置后訪問成功