使用Pycharm創建一個Django項目


在使用python寫腳本一段時間后,想嘗試使用Django來編寫一個python項目,現做以下記錄備忘:

1、創建項目


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

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


出現上面的頁面,則正面項目創建成功

目錄結構:

migrations/:用於記錄 models 中數據的變更。admin.py:映射 models 中的數據到 Django 自帶的 admin 后台。 apps.py:在新的 Django 版本中新增,用於應用程序的配置。 models.py:創建應用程序數據表模型(對應數據庫的相關操作)。 tests.py:創建 Django 測試。 views.py:控制向前端顯示哪些數據。

2、創建APP

在Django項目中可以包含多個APP,相當於一個大型項目中的分系統、子模塊、功能部件等,相互之間比較獨立,但也有聯系,所有APP共享項目資源


輸入:python manage.py startapp myapp
生成myapp文件夾

3、視圖和url配置

myapp/views.py文件代碼:

from django.http import HttpResponse #需要導入HttpResponse模塊 def hello(request): #request參數必須有,名字類似self的默認規則,可以修改,它封裝了用戶請求的所有內容 return HttpResponse("Hello world ! ") #不能直接字符串,必須是由這個類封裝,此為Django規則

testDjango/urls.py文件代碼:

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中可以使用如下方法:

4、Django模板

修改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,輸出結果如下:

5、引入靜態文件

需要將一些靜態資源引入項目,新建一個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文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM