最近学习到django框架,记录一下这个框架的使用流程,首先理清MVT三者之间的联系是必要的。
打开cmd
1.到目标文件夹下创建项目:
django-admin startproject pro_name
2.cd进入到项目下,开始创建应用
python manage.py startapp app_name
3.注册应用。
到项目里的setting.py下注册应用
4.在setting下更改database为mysql:
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE':'django.db.backends.mysql',
'NAME':'test',#数据库名
'USER':'root',#账户
'PASSWORD':'password', #账户密码
'HOST':'localhost', #指定mysql位置,本地用localhost,其他电脑用IP地址
'POST':3306,#端口号,本地默认的3306
}
5.书写app的models.py,设计数据库
例子:
from django.db import models
# Create your models here.
# 一类
class BookInfo(models.Model):
'''图书模型类'''
#图书名称
btitle = models.CharField(max_length=20)
#出版日期
bpub_date = models.DateField()
#阅读量
bread = models.IntegerField(default=0)
#评论量
bcomment = models.IntegerField(default=0)
#删除标记
isDelete = models.BooleanField(default=False)
#多类
class HeroInfo(models.Model):
#英雄名
hname = models.CharField(max_length=20)
#性别
hgender = models.BooleanField(default=False)
#备注
hcomment = models.CharField(max_length=200)
# 关系属性
hbook = models.ForeignKey('BookInfo')
#删除标记
isDelete = models.BooleanField(default=False)
7.设计完成模型类,生成与之对应的表
7.1生成迁移文件
python manage.py makemigrations app_name
若报mysql.db
下载安装pymysql,下载pymysql地址,并到项目的__init__.py里面写上(若已安装,直接书写下面的代码)
import pymysql
pymysql.install_as_MySQLdb()
7.2执行迁移生成表
python manage.py migrate
另附:
{mysql的基础操作,mysql -uroot -p;
show databases;
use 数据库名;
show tables;
desc 表名; #表结构
insert into 表名(hanme,hgender,hbookid) values(对应的值),(对应的值),(对应的值)}
生成表的默认格式:应用名_模型类
6.启动web服务器 python manage.py runserver
1)图书信息展示页
a)设计url,通过浏览器访问http://127.0.0.1:8000/index 时显示图书信息页面。
b)设计url对应的视图函数index。
查询出所有图书的信息,将这些信息传递给模板文件。
c)编写模板文件index.html。遍历显示出每一本图书的信息增加新建和删除的超链接。
步骤:
1.到应用views创建index函数
from django.shortcuts import render
from booktest.models import BookInfo
# Create your views here.
def index(request):
'''显示图书信息'''
#1.查询出所有图书的信息
books = BookInfo.objects.all()
#2.使用模板
2.创建模板
在项目下创建模板文件夹,templates。
修改项目的settings.py 下的TEMPATES中dir
'DIRS': [os.path.join(BASE_DIR,'templates')],#设置模板目录
3.到templates新建模板文件。首先到templates先新建一个与应用同名的文件夹,在到该目录下创建模板文件。
4.到应用里使用模板,views下添加代码。
#2.使用模板
return render(request,'booktest/index.html',{'books':books})
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^',include('booktest.urls')),#包含booktest应用的urls文件
]
from django.conf.urls import url
from booktest import views
urlpatterns = [
url(r'^index$',views.index)
]
6.编辑index.html文件。
图书信息
{% for book in books %}
- {{ book.btitle }}
{% endfor %}
大致梳理一下这些文件间的脉络:
首先输入地址:找到项目目录下的 urls.py,进行正则匹配,转到了应用下的 urls.py,再次进行正则匹配,转到view下的index,回传的是index.html文件。继续增加与删除超链接的编写。