Python3.6+Django2.0+MySql5.7.17

一开始搭建是在Ubuntu上面操作,后来就直接换到Windows上操作了,命令都一样,使用的开发工具是PyCharm。

PyCharm上的Terminal命令也是不错的。

一、在某盘下,创建文件夹,用PyCharm打开,使用Terminal命令做如下操作:

1python 查看当前python环境

2、python3 进入3x环境

3、mkvirtualenv Hello 创建虚拟环境Hello

4、pip list 查看当前环境下的包

5、deactivate 退出当前环境

6、mkvirtualenv Hello3 -p /usr/bin/python3 创建Hello3环境,是3x版本

7、pip 安装包

8、workon Hello 查看虚拟环境

9、rmvirtualenv Hello 移除Hello虚拟环境

10、pip freeze 查看最近的安装包

11、pip install pymysql 安装pymysql包

12、安装、导入、测试djando 
pip install django

python3
>>>import django
    django.get_versin()

13、django-admin startproject HelloDjango 创建一个项目

14、tree 查看文件结构

15、workon   查询环境

16python manage.py runserver[ip:port]

17、数据迁移
    python manage.py makemigrations 生成迁移
    python manage.py migrate 执行迁移
  1. 先是创建虚拟环境,PyCharm上可以通过setting来操作。
  2. pip是安装管理Python包的,安装pymysql、Django。
  3. 现在环境搭好后,要创建Django项目了

二、创建Django项目

1、创建好后文件树是如下图的
Python3.6+Django2.0+MySql5.7.17_第1张图片

2、在环境中,创建一个名为App的项目

python manage.py startapp App

Python3.6+Django2.0+MySql5.7.17_第2张图片

3、这里就可运行了,运行后会是Django的页面

python manage.py runserver

默认是 http://127.0.0.1:8000/ 这个链接,这个端口

http://127.0.0.1:8000/admin 会进入Django自带的后台管理界面

4、完成以上步骤说明环境搭建ok,可以开始开发了
    整个项目的设计模式是MTV模式

5、在Django_study1下的settings.py文件中

from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^welcome/',include('App.urls')),
]

Django2.0之前这样写没问题,2.0这样写也没问题。
那就简单说一下用到的2.0的新特性:
简化了URL路由语法:

from django.urls import path
path(r'welcome/',include('App.urls')),

就是这样,没有什么影响,但是新的写法要会使用

6、按照业务流程逻辑
通过Django_Study1下的setting.py中设置:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    **'App.apps.AppConfig',
    'Django_study1',**
]

* ()*里的内容必须注册,否则入坑出不来。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [(os.path.join(BASE_DIR, 'templates')),],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

DIRS里的配置,是设置模板文件夹,加载页面都会从里面获取。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

7、在App文件夹下创建urls.py

from django.conf.urls import url
from App import views

urlpatterns = [
    url('^$',views.welcome),
]

8、在工程下创建templates模板
Python3.6+Django2.0+MySql5.7.17_第3张图片

再在templates下创建welcome.html文件
这就是展示页面了,怎么设置url路径呢?

9、在App下的views.py中

from django.shortcuts import render
def welcome(request):
    return render(request,"welcome.html")

到第九步,如果welcome.html能够展示出来,就可以连接mysql数据库了

三、安装MySql
下载MySql的链接
如何安装?百度一下去吧

1、和项目链接在settings.py中

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'grademanage',
        'USER': 'root',
        'PASSWORD': '111111',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

DATABASES是设置MySQL的信息,NAME是数据库名,USER是用户名,PASSWORD是登录密码,HOST是localhost或者127.0*****,PORT是端口号(默认是3306)

2、下面要创建数据库、建表
在DATABASES 里已经设置了数据库名:GradeManage
创建表名为:Grade
字段为:id、gname、gsstudentnum、ggirlnum、gboynum
①:在App下的models.py里

from django.db import models

# Create your models here.
class Grade(models.Model):
    ganme = models.CharField(max_length=20)
    gstudentnum = models.IntegerField()
    ggirlnum = models.IntegerField()
    gboynum = models.IntegerField()

②:在MySql中的GradeManage库中添加表Grade,并插入数据
3、都创建好后,在Terminal中做数据迁移

python manage.py makemigrations 生成迁移
python manage.py migrate 执行迁移

成功后在如下图所示
Python3.6+Django2.0+MySql5.7.17_第4张图片

4、在App下views.py

from django.shortcuts import render
from App.models import Grade

def getGrades(request):
    # 获取所有班级
    grades = Grade.objects.all()
    context = {'gradess':grades}
    return render(request,'Grades.html',context)

templates下Grades.html


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>班级系统title>
head>
<body>
    <h1>数据库信息h1>
    <h2>班级数据统计h2>

    <ul>
        {% for gradess in gradess %}
            <li>{{ gradess.ganme }}li>
        {% endfor %}
    ul>

body>
html>

这就大功告成了,环境搭建–>django设置–>urls指定到View–>view指定到html页面。

你可能感兴趣的:(Python知识整理)