PyCharm
在这边我使用的是新的PyCharm,其中有遇到一些问题. 这是我的PyCharm版本信息

步骤
File => NewProject


1.修改数据库信息(sqlite3=>mysql)

2.在templates下添加文件夹以及index.html文件

3.在__init__.py文件中导入pymysql

4.新增urls文件

5.导入新增的urls.py文件
之前用的是
url(r'^index$', views.index)
现在换成了
path('', include('booktest.urls')),

因为我用的是Mac, 无法直接使用
mysql -u root -p
使用
/usr/local/mysql/bin/mysql -u root -p
现在高版本的系统在使用比如(额外补充)
sudo gem install xxx
安装一些软件时可能会报这样的错误

sudo gem install -n /usr/local/bin xxx
这时候我们可以先终端查看数据库

查看当前的表有哪些

查看某一个表的结构

6.我们依照上面的表结构在刚创建的Django项目中,在models.py文件中新建模型

from django.db import models
# Create your models here.
# 当前表名称对应的数据库表名 booktest_bookinfo 如果不一致 需要使用class Meta 指定表的名字
class BookInfo(models.Model):
btitle = models.CharField(max_length=20) # btitle = models.charField(max_length=20, db_column='btitle')
bpub_date = models.DateField()
bread = models.IntegerField(default=0)
bcomment = models.IntegerField(default=0)
isDelete = models.BooleanField(default=False)
# 定义当前模型对应的数据库名(不需要重新做迁移)
class Meta:
db_table = 'booktest_bookinfo'
db_table = 'xxx' 这里的表名要和下面的看到的表名称对应

这是temp_var.html的内容

body部分的代码
使用字典的属性:{{ my_dict.title }} <br>
使用列表元素: {{ my_list.1 }} <br>
使用对象属性: {{ book.btitle }} <br>
views.py函数内容

代码
# 地址/temp_var
def temp_var(request):
'''模板变量'''
my_dict = {'title':'字典键值'}
my_list = [1, 2, 3]
book = BookInfo.objects.get(id=1)
# 定义模板上下文
context = {'my_dict':my_dict, 'my_list':my_list, 'book': book}
return render(request, 'booktest/temp_var.html', context)
如果数据表没有内容的话
book = BookInfo.objects.get(id=1)
这句话会报这样的错误
DoesNotExist: User matching query does not exist.
可以添加一条数据即可
更应该
try:
# 这里写代码
except:
pass