图书管理系统
出版社的管理
源码位置:https://gitee.com/machangwei-8/learning_materials/tree/master/%E9%A1%B9%E7%9B%AE/bookmanager
1.设计URL
urlpatterns =[
url(r'^publisher_list/', views.publisher_list),
]
1.1环境准备
创建项目bookmanager。app名字修改成对应的。
settings
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #项目目录
DEBUG = True #debug模式,测试的时候使用true
创建数据库: create database bookmanager;
#settings.py设置数据库配置
DATABASES={'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'bookmanager','HOST':'127.0.0.1','PORT':3306,'USER':'root','PASSWORD':'123',
}
}
#init中使用pymysql
import pymysql
pymysql.install_as_MySQLdb()
#models.py中创建表fromdjango.db import models
# Create your models here.classPublisher(models.Model):
pid=models.AutoField(primary_key=True) #修改主键名字,使用自己创建的主键
name=models.CharField(max_length=32)
刚刚配置将USER配置成了USR,导致执行makegrations报错:
迁移文件生成:
迁移文件中生成表名,字段名等:
再添加一个字段。它提示添加个默认值或者退出:
退出后,添加默认值再操作,添加字段,出错
最终执行的迁移文件是这个内容,我再这里面添加一下这个字段:
然后再models里面添加这个,相当于一开始就在models里加了这个字段然后执行了makegragions。这样表里的内容和迁移文件对应上了。
似乎执行改变了一次就生成一个文件:
刚才出问题了,将这些删掉,再执行试试。
生成数据库表:
添加并上传:
展示出版社,设置url
fromapp01 import views
urlpatterns=[
url(r'^admin/', admin.site.urls),
url(r'^publisher_list/', views.publisher_list),
]
def publisher_list(request):
#显示一个含出版社信息的页面return render(request,'publisher_list.html')
出版社列表
publisher_list.html
这样就拿到页面了,但是还要展示出数据库中的数据。
渲染数据库的数据,将数据以表格形式显示出来:
fromapp01 import models
#展示出版社
def publisher_list(request):
# 从数据库中查询到出版社的信息
all_publishers=models.Publisher.objects.all()return render(request, 'publisher_list.html', {'all_publishers': all_publishers}) #publisher_list.html中使用的是字典中的键,键代替这个所有的对象
#render方法也可以传{键值对},在html模板文件中使用键对传入的值进行操