日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

django項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)詳解

 融水公子 2019-07-31

講解對(duì)象:django項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)詳解

作者:融水公子rsgz


1 啟動(dòng)數(shù)據(jù)庫(kù)

net start mysql


2 登錄數(shù)據(jù)庫(kù)

mysql -u root -p


3 創(chuàng)建數(shù)據(jù)庫(kù)

create database rsgz2;

擴(kuò)展:想刪除數(shù)據(jù)庫(kù) drop database rsgz2;


4 進(jìn)入目標(biāo)地址

D:\1 File\9 pycharm


5 進(jìn)入powershell

shift+右鍵


6 創(chuàng)建項(xiàng)目

django-admin startproject pro2

可以看到當(dāng)前目錄多了一個(gè)項(xiàng)目文件


7 創(chuàng)建應(yīng)用

cd pro2 先進(jìn)入項(xiàng)目目錄

python manage.py startapp myapp 創(chuàng)建myapp應(yīng)用


8 選中pro2項(xiàng)目用pycharm打開(kāi)


9 配置文件

說(shuō)明:

0.1 項(xiàng)目文件的配置文件 叫做setting.py

0.2 setting.py需要  激活應(yīng)用配置數(shù)據(jù)庫(kù)


10 激活應(yīng)用

Ctrl+F 搜索APP

我們鎖定目標(biāo):INSTALLED_APPS = [

0.2 添加app進(jìn)去就行了

0.3 消除波浪號(hào)

分析:這里出現(xiàn)波浪號(hào)是因?yàn)橛姓Z(yǔ)法和拼寫檢測(cè),我們將其標(biāo)準(zhǔn)降低就行

操作:將下面的小人點(diǎn)擊一下,拖動(dòng)進(jìn)度條至中間即可


11 配置數(shù)據(jù)庫(kù)

Ctrl+F搜索關(guān)鍵字  DATABASE

0.1 我們鎖定目標(biāo)

0.2 配置內(nèi)容

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'rsgz2',

        'USER': 'root',

        'PASSWORD': '123456',

        'HOST': 'localhost',

        'PORT': '3306',

    }

}

參數(shù)解釋:
0.1
數(shù)據(jù)庫(kù)的配置都是以鍵值對(duì)的形式配置

0.2 engine表示數(shù)據(jù)庫(kù)引擎配置,我設(shè)置的是mysql

0.3 name表示數(shù)據(jù)庫(kù)名 剛剛我新建的數(shù)據(jù)庫(kù)rsgz2

0.4 user默認(rèn)的是root

0.5 password是數(shù)據(jù)庫(kù)的登錄密碼

0.6 host是主機(jī)IP

0.7 port是數(shù)據(jù)庫(kù)端口號(hào)


12 數(shù)據(jù)庫(kù)引擎初始化設(shè)置

位置:項(xiàng)目文件下的__init__.py

操作:添加一些代碼

# 導(dǎo)入pymysql并安裝

import pymysql

pymysql.install_as_MySQLdb()


13 添加模型model

位置:打開(kāi)應(yīng)用的models.py

操作:添加模型

內(nèi)容:

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 生成遷移文件

命令:python manage.py makemigrations

注意:需要在項(xiàng)目目錄下打開(kāi)執(zhí)行命令,如果執(zhí)行這個(gè)命令出錯(cuò)可以看看我的下一篇教程。里面有一些常見(jiàn)的錯(cuò)誤的解決辦法

這個(gè)時(shí)候多了0001文件

0.2 執(zhí)行遷移文件

命令:python manage.py migrate

0.3 看看數(shù)據(jù)表

show databases;

use rsgz2;

show tables;

上面可以看出數(shù)據(jù)庫(kù)里面的表也已經(jīng)生成了


15 啟動(dòng)django服務(wù)器

命令:python manage.py runserver


16 瀏覽器訪問(wèn)

127.0.0.1:8000


17 創(chuàng)建模板目錄

要求:

0.1 和項(xiàng)目 應(yīng)用目錄同級(jí)的templates目錄

0.2 有一個(gè)子目錄,包含myapp

0.3 配置模板路徑

位置:在項(xiàng)目setting.py文件中配置

操作:快捷鍵搜索ctrl+f  關(guān)鍵字template

鎖定目標(biāo):

添加:

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應(yīng)用下面views.py文件寫一個(gè)視圖

操作:添加下面代碼

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse

def index(request):

    return HttpResponse("融水公子是一個(gè)超級(jí)大帥哥!")


19 添加路由

問(wèn)題:模板和視圖都寫完了,但是沒(méi)有關(guān)聯(lián)

解決:我們寫一個(gè)路由關(guān)聯(lián)他們

操作:添加項(xiàng)目路由關(guān)聯(lián)應(yīng)用路由,添加  應(yīng)用路由關(guān)聯(lián)視圖views和模板templates

0.1

位置:在項(xiàng)目pro2

操作:urls.py文件添加一個(gè)總路由

內(nèi)容:

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 位置:在應(yīng)用myapp

操作:新建一個(gè)urls.py文件,并且添加子路由

作用:用來(lái)連接視圖views和模板templates

添加內(nèi)容:

from django.conf.urls import url

from . import views #引入當(dāng)前目下

urlpatterns = [

    url(r'^$',views.index)

]


20 瀏覽器訪問(wèn)

127.0.0.1


21 新建主頁(yè)

位置:templates里面

操作:新建一個(gè)index.html

添加內(nèi)容:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>rsgz</title>

</head>

<body>

    <h1>融水公子修為高深莫測(cè)!是一位斗破大陸的巔峰主宰!</h1>

</body>

</html>


22 主頁(yè)視圖

位置:應(yīng)用下的views.py

操作:添加代碼

from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse

def index(request):

    # return HttpResponse("融水公子是一個(gè)超級(jí)大帥哥!")

    # 我們通常不用上面的,而是直接使用模板

return render(request, 'myapp/index.html') #訪問(wèn)主頁(yè)


23 訪問(wèn)主頁(yè)

http://127.0.0.1:8000/

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多