启动服务
net start mysql57
创建一个数据库
create database lige
django-admin startproject project
python manage.py startapp myApp
打开Pycharm进入setting.py文件中在INSTALL_APPS中添加自己创建的项目
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myApp',
]
修改前:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
修改后:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #使用的哪个类型数据库
'NAME': "lege", # 数据库名
'USER': 'root', #数据库用户名
'PASSWORD': '123456', #密码
'HOST': 'localhost', #服务器IP地址
'PORT': '3306' #电脑分配的端口号
}
}
import pymysql
pymysql.install_as_MySQLdb()
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"%(self.gname)
class Students(models.Model):
sname = models.CharField(max_length=20)
sgender = models.BooleanField(default=True) #男:True,
sage = models.IntegerField()
scontend = models.CharField(max_length=20)
isDelete = models.BooleanField(default=False) #False:不删除
#关联外键
sgrade = models.ForeignKey("Grades") #关联外键,关联前面班级类
def __str__(self):
return self.sname
执行下面代码:
python manage.py makemigrations
PyCharm查看生成的迁移文件
执行成功的界面
数据库中展示生成的表
执行下列代码:
python manage.py migrate
执行成功界面
通过数据库查看生成的与models.py文件中一一对应的数据表
这个是无关紧要的。可以看前一篇的博客
在project中创建templates目录
由于一个项目可能有多个应用,所以我们在templates目录下可以创建多个目录一一对应创建的应用;
目录如下:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index) #跳入views的index方法进行执行,跳转
]
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("sunck is a good")
代码如下:
python manage.py runserver
index:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>主页title>
head>
<body>
<h1>Hellow World!h1>
body>
html>
view:
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return render(request,"myAPP/index.html")