1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
安装 django2.0不支持python2.x,所以安装python3.x。 # linux安装python3 $ sudo apt-get install python3 mac安装python3 $ brew install python3 安装django 2.0: $ pip3 install django==2.0 站点初始化 1. 初始化 $ django-admin startproject mysite 主要文件结构: mysite/ ├── db.sqlite3 # 自带数据库文件 ├── manage.py # 项目管理文件 └── mysite ├── __init__.py ├── settings.py # 全局设置文件 ├── urls.py # 全局路由控制 └── wsgi.py # 服务器部署文件 2. 站点预览 $ cd mysite $ python3 manage.py runserver 注:runserver后面可指定ip及端口号,如下 $ python3 manage.py runserver 127.0.0.1:8000 连接MySQL数据库 1. 安装django与mysql的连接工具mysqlclient $ sudo pip3 install mysqlclient $ sudo pip3 install pymysql 并在mysite/mysite/__init__.py文件加入以下代码: import pymysql pymysql.install_as_MySQLdb() 2. 配置数据库信息 修改mysite/mysite/settings.py文件代码: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'root', 'PASSWORD': '123456', 'HOST':'localhost', 'PORT':'3306', } } 3. 新建app $ django-admin startapp TestModel 4. 修改mysite/TestModel/models.py文件代码(定义模型): from django.db import models class Test(models.Model): name = models.CharField(max_length=20) 5. 修改mysite/mysite/settings.py文件代码: INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'TestModel', # 添加此项 ) 6. 迁移表结构到数据 $ python3 manage.py makemigrations # 制造迁移 $ python3 manage.py migrate # 迁移 注:若提示django.db.utils.InternalError: (1049, "Unknown database 'test'"),则需先手动在mysql创建test数据库 数据库操作 1. 添加数据 添加mysite/mysite/testdb.py文件,内容如下: # -*- coding: utf-8 -*- from django.http import HttpResponse from TestModel.models import Test # 数据库操作 def testdb(request): test1 = Test(name='luna') test1.save() return HttpResponse("<p>数据添加成功!</p>") 修改mysite/mysite/urls.py文件代码: from django.contrib import admin from django.urls import path from django.conf.urls import * from . import testdb urlpatterns = [ path('admin/', admin.site.urls), url(r'^testdb$', testdb.testdb), ] 访问 http://127.0.0.1:8000/testdb 即可将数据添加到数据库。 注:若出现utf-8编码问题,用记事本将文件转utf-8编码格式即可。 2. 删除数据 修改mysite/mysite/testdb.py文件代码: # -*- coding: utf-8 -*- from django.http import HttpResponse from TestModel.models import Test # 数据库操作 def testdb(request): # 删除id=1的数据 test1 = Test.objects.get(id=1) test1.delete() # 另外一种方式 # Test.objects.filter(id=1).delete() # 删除所有数据 # Test.objects.all().delete() return HttpResponse("<p>删除成功</p>") 访问 http://127.0.0.1:8000/testdb 即可将数据从数据库删除。 |
