新建Django工程步驟


get獲取數據,post發送數據。

Django生命週期:
->url對應關係(匹配)->視圖函數->返回用戶字符串
->url對應關係(匹配)->視圖函數->打開一個html文件,讀取內容

redirect(‘只能填url’)
HttpResponse(‘字符串’)
render(request, “html模版的路徑”)

1、request.POST['username']
2、request.POST.get('username', None)
選2
1存在一個問題,如果username不存在,會報錯

1、安裝

pip3 install django

2、創建工程

django-admin startproject project_name

3、啓動

啓動前需要先進入剛剛創建的項目中,最後一個參數不填就是默認127.0.0.1:8000,可以修改端口

python3 manage.py runserver 127.0.0.1:8000

啓動完成之後,打開網址,輸入127.0.0.1:8000,看到如下就說明成功
在這裏插入圖片描述

4、增加內容

Django程序已經建成功了,下面來做一些修改,在目錄下新建一個文件夾,新建的文件夾下再新建一個文件s1.py

from django.shortcuts import HttpResponse

def index(request):
	return HttpResponse("OK")

修改urls.py文件

from django.contrib import admin
from django.urls import path

from laoniu import s1

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', s1.index)
]

重新啓動,再來運行
在這裏插入圖片描述

5、django目錄

project_name
	project_name # 對整個程序進行配置
		init.py
		settings.py # 配置文件
		url.py # url對應關係
		wsgi.py # 一套規則,一套接口,本質上幫助創建socket,遵循wsgi規範,產品上線不用默認的,用uwsgi+ngnix
	manage.py # 管理Django程序,有一下命令:1、python3 manage.py 2、python3 manage.py startapp ** 3、python3 manage.py makemigrations 4、python3 manage.py migrate

6、創建app

python3 manage.py startapp cmdb # csdb是app的名字

創建後的相應路徑如下所示

cmdb
	migrations: 數據操作記錄(修改表結構)
	__init__: python2中必須存在,不然導入文件時會出錯,python3無所謂
	admin: django提供的後臺管理
	apps: 配置當前app
	models: ORM,寫指定的類,通過命令創建數據庫結構
	tests: 單元測試
	views: 業務代碼

在setting.py中添加該app的信息
在這裏插入圖片描述
這樣就創建了一個app文件夾,接下來把我們的業務邏輯的代碼放在cmdb的文件中,如下

from django.shortcuts import render

# Create your views here.

from django.shortcuts import HttpResponse

def home(request):
	return HttpResponse('<h1>Hello_View</h1>')

修改urls.py文件如下,

from django.contrib import admin
from django.urls import path

from laoniu import s1

from cmdb import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', s1.index),
    path('h.html/', views.home)
]

運行,可以得到如下結果
在這裏插入圖片描述

7、創建靜態文件和模版文件

在Django目錄下創建兩個文件夾static和templates用來存放靜態文件和模版文件
在這裏插入圖片描述

8、在settings.py中添加配置信息

靜態文件配置需要添加如下代碼

STATICFILES_DIR = (
    os.path.join(BASE_DIR, "static"),
)

注:只有這樣,靜態文件在我們的項目中才會起作用。

模版路徑需要在TEMPLATES中添加如下代碼
在這裏插入圖片描述

注:這樣我們就不需要自己寫邏輯去去讀html文件中的內容,Django的render會幫助我們處理該過程。

還有一步,在這裏,先註釋settigns.py的csrf(跨棧請求僞造),防止報錯
在這裏插入圖片描述

9、模版語言

views.py
	return render(request, "index.html", {
				'currrent_user': 'seth',
				'user_list': ['seth', 'bob'],
				'user_dict': {'k1':'v1','k2':'v2'}
				})

html
	<a>{{current_user}}</a>
	<a>{{user_list.0}}</a>
	<a>{{user_dict.k1}}</a>

	{% for item in user_list %}
	
	{% endfor %}

	{% if age %}
		<a>have age</a>
		{% if age > 16 %}
			<a>old boy</a>
		{% endif %}
	{% else %}
		<a>no age</a>
	{% endif %}

10、路由系統

在這裏插入圖片描述

項目地址:
https://github.com/Stark-Xue/didi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章