在使用python寫腳本一段時間後,想嘗試使用Django來編寫一個python項目,現作如下記錄備忘:css
若是本地沒有安裝與所選python版本對應Django版本,pycharm會自動下載相應的版本:html
建立後運行項目,默認頁面爲http://127.0.0.1:8000/,打開後:前端
出現上面的頁面,則正面項目建立成功python
目錄結構:jquery
在Django項目中能夠包含多個APP,至關於一個大型項目中的分系統、子模塊、功能部件等,相互之間比較獨立,但也有聯繫,全部APP共享項目資源正則表達式
輸入:python manage.py startapp myapp
生成myapp文件夾數據庫
myapp/views.py文件代碼:django
from django.http import HttpResponse #須要導入HttpResponse模塊 def hello(request): #request參數必須有,名字相似self的默認規則,能夠修改,它封裝了用戶請求的全部內容 return HttpResponse("Hello world ! ") #不能直接字符串,必須是由這個類封裝,此爲Django規則
testDjango/urls.py文件代碼:ruby
from myapp import views #首先須要導入對應APP的views urlpatterns = [ url(r'^admin/', admin.site.urls), #admin後臺路由 url(r'^hello$', views.hello), #你定義的路由,第一個參數爲引號中的正則表達式,第二個參數業務邏輯函數(當前爲views中的hello函數) ]
運行項目:
命令行的方式是:python manage.py runserver 127.0.0.1:8000
可是在pycharm中可使用以下方法:app
修改views文件:
def hello(request): # return HttpResponse("Hello world ! ") context = {} context['hello'] = 'Hello World!' #數據綁定 return render(request, 'hello.html', context) #將綁定的數據傳入前臺
被繼承的模板:
{#base.html#} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>模板測試</title> </head> <body> <h1>{{ hello }}</h1> <p>Django模板測試</p> {% block mainbody %} <p>original</p> {% endblock %} </body> </html>
hello.html 中繼承 base.html,並替換特定 block,hello.html 修改後的代碼以下:
{#hello.html#} {% extends "base.html" %} {% block mainbody %}<p>繼承了 base.html 文件</p> {% endblock %}
從新訪問地址 http://127.0.0.1:8000/hello,輸出結果以下:
須要將一些靜態資源引入項目,新建一個static目錄,能夠將js、css等文件放入這個目錄中:
須要讓Django找到這個目錄,須要在setting文件中進行配置:
在html文件中引入靜態資源:
{% load staticfiles %} {#base.html#} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="{% static 'css/mypage.css' %}"> <script src="{% static 'js/jquery-1.11.1.js' %}"></script> <title>模板測試</title> </head> <body> <h1>{{ hello }}</h1> <p>Django模板測試</p> {% block mainbody %} <p>original</p> {% endblock %} </body> </html>
第一行引入靜態文件路徑{% load staticfiles %},在<head>...</head>里加入CSS網鏈和js文件