使用PyCharm創(chuàng)建Django項目及基本配置詳解
pycharm是個很不錯的python開發(fā)工具,大大縮短了python項目的創(chuàng)建時間以及調(diào)試時間
在使用python寫腳本一段時間后,想嘗試使用Django來編寫一個python項目,現(xiàn)做以下記錄備忘:
1、創(chuàng)建項目
如果本地沒有安裝與所選python版本對應(yīng)Django版本,pycharm會自動下載相應(yīng)的版本:
創(chuàng)建后運行項目,默認頁面為http://127.0.0.1:8000/,打開后:
出現(xiàn)上面的頁面,則正面項目創(chuàng)建成功
目錄結(jié)構(gòu):
2、創(chuàng)建APP
在Django項目中可以包含多個APP,相當(dāng)于一個大型項目中的分系統(tǒng)、子模塊、功能部件等,相互之間比較獨立,但也有聯(lián)系,所有APP共享項目資源
輸入:python manage.py startapp myapp
生成myapp文件夾
3、視圖和url配置
myapp/views.py文件代碼:
from django.http import HttpResponse #需要導(dǎo)入HttpResponse模塊 def hello(request): #request參數(shù)必須有,名字類似self的默認規(guī)則,可以修改,它封裝了用戶請求的所有內(nèi)容 return HttpResponse("Hello world ! ") #不能直接字符串,必須是由這個類封裝,此為Django規(guī)則
testDjango/urls.py文件代碼:
from myapp import views #首先需要導(dǎo)入對應(yīng)APP的views urlpatterns = [ url(r'^admin/', admin.site.urls), #admin后臺路由 url(r'^hello$', views.hello), #你定義的路由,第一個參數(shù)為引號中的正則表達式,第二個參數(shù)業(yè)務(wù)邏輯函數(shù)(當(dāng)前為views中的hello函數(shù)) ]
運行項目:
命令行的方式是:python manage.py runserver 127.0.0.1:8000
但是在pycharm中可以使用如下方法:
4、Django模板
修改views文件:
def hello(request): # return HttpResponse("Hello world ! ") context = {} context['hello'] = 'Hello World!' #數(shù)據(jù)綁定 return render(request, 'hello.html', context) #將綁定的數(shù)據(jù)傳入前臺
被繼承的模板:
{#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,輸出結(jié)果如下:
5、引入靜態(tài)文件
需要將一些靜態(tài)資源引入項目,新建一個static目錄,可以將js、css等文件放入這個目錄中:
需要讓Django找到這個目錄,需要在setting文件中進行配置:
在html文件中引入靜態(tài)資源:
{% load staticfiles %} {#base.html#} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="{% static 'css/mypage.css' %}" rel="external nofollow" > <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>
第一行引入靜態(tài)文件路徑{% load staticfiles %},在<head>...</head>里加入CSS網(wǎng)鏈和js文件
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python OpenCV 圖像區(qū)域輪廓標(biāo)記(框選各種小紙條)
這篇文章主要介紹了Python OpenCV 圖像區(qū)域輪廓標(biāo)記(框選各種小紙條),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python 尋找優(yōu)化使成本函數(shù)最小的最優(yōu)解的方法
這篇文章主要介紹了python 尋找優(yōu)化使成本函數(shù)最小的最優(yōu)解的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Python模擬鼠標(biāo)點擊實現(xiàn)方法(將通過實例自動化模擬在360瀏覽器中自動搜索python)
這篇文章主要介紹了Python模擬鼠標(biāo)點擊實現(xiàn)方法(將通過實例自動化模擬在360瀏覽器中自動搜索python),需要的朋友可以參考下2017-08-08np.meshgrid中的indexing參數(shù)問題解決
本文主要介紹了np.meshgrid中的indexing參數(shù)問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計
這篇文章主要介紹了python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02