講解對象:django項目開發(fā)實戰(zhàn)詳解
作者:融水公子rsgz
1 啟動數(shù)據(jù)庫
net start mysql
2 登錄數(shù)據(jù)庫
mysql -u root -p
3 創(chuàng)建數(shù)據(jù)庫
create database rsgz2;
擴展:想刪除數(shù)據(jù)庫 drop database rsgz2;
4 進入目標地址
D:\1 File\9 pycharm
5 進入powershell
shift+右鍵
6 創(chuàng)建項目
django-admin startproject pro2
可以看到當前目錄多了一個項目文件
7 創(chuàng)建應用
cd pro2 先進入項目目錄
python manage.py startapp myapp 創(chuàng)建myapp應用
8 選中pro2項目用pycharm打開
9 配置文件
說明:
0.1 項目文件的配置文件 叫做setting.py
0.2 setting.py需要 激活應用, 配置數(shù)據(jù)庫
10 激活應用
Ctrl+F 搜索APP
我們鎖定目標:INSTALLED_APPS = [
0.2 添加app進去就行了
0.3 消除波浪號
分析:這里出現(xiàn)波浪號是因為有語法和拼寫檢測,我們將其標準降低就行
操作:將下面的小人點擊一下,拖動進度條至中間即可
11 配置數(shù)據(jù)庫
Ctrl+F搜索關鍵字 DATABASE
0.1 我們鎖定目標
0.2 配置內容
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'rsgz2',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': '3306',
}
}
參數(shù)解釋:
0.1 數(shù)據(jù)庫的配置都是以鍵值對的形式配置0.2 engine表示數(shù)據(jù)庫引擎配置,我設置的是mysql
0.3 name表示數(shù)據(jù)庫名 剛剛我新建的數(shù)據(jù)庫rsgz2
0.4 user默認的是root
0.5 password是數(shù)據(jù)庫的登錄密碼
0.6 host是主機IP
0.7 port是數(shù)據(jù)庫端口號
12 數(shù)據(jù)庫引擎初始化設置
位置:項目文件下的__init__.py
操作:添加一些代碼
# 導入pymysql并安裝
import pymysql
pymysql.install_as_MySQLdb()
13 添加模型model
位置:打開應用的models.py
操作:添加模型
內容:
from django.db import models
# Create your models here.
class Grades(models.Model):
gname =models.CharField(max_length=20)
gdate =models.DateTimeField()
ggirlnum=models.IntegerField()
gboynum =models.IntegerField()
isDelete = models.BooleanField(default=False)
def __str__(self):
# return "%s-%d-%d"%(self.gname,self.ggirlnum,self.gboynum)
return self.gname
class Students(models.Model):
sname =models.CharField(max_length=20)
sgender =models.BooleanField(default=True)
sage =models.IntegerField()
scontend =models.CharField(max_length=20)
isDelete =models.BooleanField(default=False)
sgrade =models.ForeignKey("Grades",on_delete=models.CASCADE)
def __str__(self):
# return "%s-%d-%d"%(self.gname,self.ggirlnum,self.gboynum)
return self.sname
14 遷移文件
0.1 生成遷移文件
命令:pythonmanage.py makemigrations
注意:需要在項目目錄下打開執(zhí)行命令,如果執(zhí)行這個命令出錯可以看看我的下一篇教程。里面有一些常見的錯誤的解決辦法
這個時候多了0001文件
0.2 執(zhí)行遷移文件
命令:pythonmanage.py migrate
0.3 看看數(shù)據(jù)表
show databases;
use rsgz2;
show tables;
上面可以看出數(shù)據(jù)庫里面的表也已經生成了
15 啟動django服務器
命令:pythonmanage.py runserver
16 瀏覽器訪問
127.0.0.1:8000
17 創(chuàng)建模板目錄
要求:
0.1 和項目 應用目錄同級的templates目錄
0.2 有一個子目錄,包含myapp
0.3 配置模板路徑
位置:在項目setting.py文件中配置
操作:快捷鍵搜索ctrl+f 關鍵字template
鎖定目標:
添加:
TEMPLATES = [
{
'BACKEND': 'django.templates.backends.django.DjangoTemplates',
# 配置模板路徑
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.templates.context_processors.debug',
'django.templates.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
18 寫視圖
位置:myapp應用下面views.py文件寫一個視圖
操作:添加下面代碼
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
returnHttpResponse("融水公子是一個超級大帥哥!")
19 添加路由
問題:模板和視圖都寫完了,但是沒有關聯(lián)
解決:我們寫一個路由關聯(lián)他們
操作:添加項目路由關聯(lián)應用路由,添加 應用路由關聯(lián)視圖views和模板templates
0.1
位置:在項目pro2下
操作:urls.py文件添加一個總路由
內容:
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/',admin.site.urls),
url(r'^',include('myapp.urls')),
]
0.2 位置:在應用myapp下
操作:新建一個urls.py文件,并且添加子路由
作用:用來連接視圖views和模板templates
添加內容:
from django.conf.urls import url
from . import views #引入當前目下
urlpatterns = [
url(r'^$',views.index)
]
20 瀏覽器訪問
127.0.0.1
21 新建主頁
位置:templates里面
操作:新建一個index.html
添加內容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>rsgz</title>
</head>
<body>
<h1>融水公子修為高深莫測!是一位斗破大陸的巔峰主宰!</h1>
</body>
</html>
22 主頁視圖
位置:應用下的views.py
操作:添加代碼
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
# returnHttpResponse("融水公子是一個超級大帥哥!")
# 我們通常不用上面的,而是直接使用模板
returnrender(request, 'myapp/index.html') #訪問主頁
23 訪問主頁
http://127.0.0.1:8000/