使用PyCharm創(chuàng)建Django項目及基本配置詳解
pycharm是個很不錯的python開發(fā)工具,大大縮短了python項目的創(chuàng)建時間以及調(diào)試時間
在使用python寫腳本一段時間后,想嘗試使用Django來編寫一個python項目,現(xiàn)做以下記錄備忘:
1、創(chuàng)建項目

如果本地沒有安裝與所選python版本對應Django版本,pycharm會自動下載相應的版本:

創(chuàng)建后運行項目,默認頁面為http://127.0.0.1:8000/,打開后:

出現(xiàn)上面的頁面,則正面項目創(chuàng)建成功
目錄結構:

2、創(chuàng)建APP
在Django項目中可以包含多個APP,相當于一個大型項目中的分系統(tǒng)、子模塊、功能部件等,相互之間比較獨立,但也有聯(lián)系,所有APP共享項目資源

輸入:python manage.py startapp myapp
生成myapp文件夾
3、視圖和url配置
myapp/views.py文件代碼:
from django.http import HttpResponse #需要導入HttpResponse模塊
def hello(request): #request參數(shù)必須有,名字類似self的默認規(guī)則,可以修改,它封裝了用戶請求的所有內(nèi)容
return HttpResponse("Hello world ! ") #不能直接字符串,必須是由這個類封裝,此為Django規(guī)則
testDjango/urls.py文件代碼:
from myapp import views #首先需要導入對應APP的views urlpatterns = [ url(r'^admin/', admin.site.urls), #admin后臺路由 url(r'^hello$', views.hello), #你定義的路由,第一個參數(shù)為引號中的正則表達式,第二個參數(shù)業(yè)務邏輯函數(shù)(當前為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,輸出結果如下:

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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python OpenCV 圖像區(qū)域輪廓標記(框選各種小紙條)
這篇文章主要介紹了Python OpenCV 圖像區(qū)域輪廓標記(框選各種小紙條),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
python 尋找優(yōu)化使成本函數(shù)最小的最優(yōu)解的方法
這篇文章主要介紹了python 尋找優(yōu)化使成本函數(shù)最小的最優(yōu)解的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Python模擬鼠標點擊實現(xiàn)方法(將通過實例自動化模擬在360瀏覽器中自動搜索python)
這篇文章主要介紹了Python模擬鼠標點擊實現(xiàn)方法(將通過實例自動化模擬在360瀏覽器中自動搜索python),需要的朋友可以參考下2017-08-08
np.meshgrid中的indexing參數(shù)問題解決
本文主要介紹了np.meshgrid中的indexing參數(shù)問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計
這篇文章主要介紹了python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02

