分享

django项目开发实战详解

 融水公子 2019-07-31

讲解对象:django项目开发实战详解

作者:融水公子rsgz


1 启动数据库

net start mysql


2 登录数据库

mysql -u root -p


3 创建数据库

create database rsgz2;

扩展:想删除数据库 drop database rsgz2;


4 进入目标地址

D:\1 File\9 pycharm


5 进入powershell

shift+右键


6 创建项目

django-admin startproject pro2

可以看到当前目录多了一个项目文件


7 创建应用

cd pro2 先进入项目目录

python manage.py startapp myapp 创建myapp应用


8 选中pro2项目用pycharm打开


9 配置文件

说明:

0.1 项目文件的配置文件 叫做setting.py

0.2 setting.py需要  激活应用配置数据库


10 激活应用

Ctrl+F 搜索APP

我们锁定目标:INSTALLED_APPS = [

0.2 添加app进去就行了

0.3 消除波浪号

分析:这里出现波浪号是因为有语法和拼写检测,我们将其标准降低就行

操作:将下面的小人点击一下,拖动进度条至中间即可


11 配置数据库

Ctrl+F搜索关键字  DATABASE

0.1 我们锁定目标

0.2 配置内容

DATABASES = {

    'default': {

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

        'NAME': 'rsgz2',

        'USER': 'root',

        'PASSWORD': '123456',

        'HOST': 'localhost',

        'PORT': '3306',

    }

}

参数解释:
0.1
数据库的配置都是以键值对的形式配置

0.2 engine表示数据库引擎配置,我设置的是mysql

0.3 name表示数据库名 刚刚我新建的数据库rsgz2

0.4 user默认的是root

0.5 password是数据库的登录密码

0.6 host是主机IP

0.7 port是数据库端口号


12 数据库引擎初始化设置

位置:项目文件下的__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 生成迁移文件

命令:python manage.py makemigrations

注意:需要在项目目录下打开执行命令,如果执行这个命令出错可以看看我的下一篇教程。里面有一些常见的错误的解决办法

这个时候多了0001文件

0.2 执行迁移文件

命令:python manage.py migrate

0.3 看看数据表

show databases;

use rsgz2;

show tables;

上面可以看出数据库里面的表也已经生成了


15 启动django服务器

命令:python manage.py runserver


16 浏览器访问

127.0.0.1:8000


17 创建模板目录

要求:

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):

    return HttpResponse("融水公子是一个超级大帅哥!")


19 添加路由

问题:模板和视图都写完了,但是没有关联

解决:我们写一个路由关联他们

操作:添加项目路由关联应用路由,添加  应用路由关联视图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):

    # return HttpResponse("融水公子是一个超级大帅哥!")

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

return render(request, 'myapp/index.html') #访问主页


23 访问主页

http://127.0.0.1:8000/

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多