--我们先打开settings.py 配置文件:

import os

#指明django APP目录路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #True表示当你调试的时候出现的错误就会报出来,生产环境要关闭
DEBUG = True #一个元组表示当网站出现问题时,会发送邮件到你的邮箱
ADMINS = ( # ('Your Name', 'your_email@example.com'),) #数据库(支持mysql,sqlite等),这里用的是mysql,数据库名dat01,用户root,密码123456.。。。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dat01',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '',
}
} #sqlite3配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
} #设置时区
TIME_ZONE = 'Asia/Shanghai' #设置语言
LANGUAGE_CODE = 'zh-cn' #静态文件存放目录
STATIC_URL = '/static/' #模板配置,目录路径
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(os.path.dirname(__file__), 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
] #在里面添加新创建的应用,格式要和原来的一致
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'djapp',
'django.contrib.admin',
'django.contrib.admindocs',
) #日志格式
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}

--然后打开models.py创建数据库模型:

from django.db import models
from django.contrib.auth.models import User #这里调用django的用户管理模块 #注册用户模型
class MyUser(models.Model):
user = models.OneToOneField(User) #这里的user与User是一对一的关系
phone = models.CharField(max_length=11)#字符型,必须有个参数max_length字符最大值
def __unicode__(self):
return self.user.username #返回的对象为username
#会议室模型
class ConfeRoom(models.Model):
num = models.CharField(max_length=5)
name=models.CharField(max_length=50)
size=models.CharField(max_length=5)
acad=models.CharField(max_length=30)
class MEAT: #引入MEAT中间件,为了在前端显示的时候以“num”顺序排列,与下一个类似
ordering = ["num"]
def __unicode__(self):
return self.num
#会议室详情
class Detail(models.Model):
name = models.CharField(max_length=50)
img = models.ImageField(upload_to = "image") #图片类型,参数表示上传图片
time=models.CharField(max_length=20)
room = models.ForeignKey(ConfeRoom) #这里采用多对一的关系,一个学院有很多会议室,而一个会议室只能属于一个学院
class MEAT:
ordering = ["name"]
def __unicode__(self):
return self.name
#订单信息
class Order(models.Model):
user = models.CharField(max_length=30)
num=models.CharField(max_length=10)
name=models.CharField(max_length=50)
time=models.CharField(max_length=20)
size=models.CharField(max_length=5)
phone = models.CharField(max_length=11)
ntime = models.CharField(max_length=30)
def __unicode__(self):
return self.user

--配置完后再来创建数据库:1、先打开数据库,创建数据库dat01:

mysql> create database dat01 default character set utf8;

因为要插入中文,所以创建时字符集设为utf8,要注意SQL语句后面的分号。

2、再同步数据库:

在1.7以前是这样的命令:
lifelong@Uhack:~/dat/dat01$ python manage.py syncdb #该命令用来同步数据库
Creating tables ... #开始创建表了、、、、、
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table djapp_myuser
Creating table djapp_conferoom
Creating table djapp_detail
Creating table djapp_order
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes #是否创建管理用户,这里是yes
Username (leave blank to use 'lifelong'): root #管理员名
E-mail address: root@root.com #邮箱
Password: #密码
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
在1.7以后换成更加好用的命令:
python manage.py makemigrations
python manage.py migarte
当你修改了表时,可以直接用下面命令来同步了
python manage.py migarte

<pre name="code" class="python">

看见上面的很多行,表就已经键好了

********第一次写博客,有写的与其他人雷同的地方纯属巧合,谢谢支持********

django 简单会议室预约(2)的更多相关文章

  1. django 简单会议室预约(6)

    后台完了现在来看前端,前端用了一个bootstrap框架,看起来能好看点 先看一下文件结构:在djapp里创建了两个文件夹templates和static templates里面是要显示的页面,sta ...

  2. django 简单会议室预约(5)

    再来看看views.py的后半部分,对数据库的增删改查 #获取学院列表 def get_acad_list(): room_list = ConfeRoom.objects.all() #对数据库的操 ...

  3. django 简单会议室预约(4)

    基本的配置已经完成了,来看看最重要的views.py 先看看简单的注册登录功能,在django里有一个专门的模块用来验证用户信息 :所以只需要调用就好了: #-*-coding:utf-8 -*- f ...

  4. django 简单会议室预约(1)

    django 是python的一个web框架,为什么要用django,作者之前用过另一个框架flask,虽然flask比较简单很容易让人学,但是flask没有整体感,会让初学着茫然. 这里我们用dja ...

  5. django 简单会议室预约(3)

    URL配置: 今天配置一下URL,打开urls.py配置如下: from django.conf.urls import patterns, include, url from djapp impor ...

  6. DJango简单的后台定义登录验证

    第一步创建一个新的项目 APPLICATIONNAME : 表示创建子项目 第二步:找到主项目的url 进行 include 分发式url 简单的说,就是将app里边的url放在这里. 这里也可以找到 ...

  7. 基于django的会议室预订系统

    会议室预订系统 一.目标及业务流程 期望效果: 业务流程: 用户注册 用户登录 预订会议室 退订会议室 选择日期:今日以及以后日期 二.表结构设计和生成 1.models.py(用户继承Abstrac ...

  8. Django简单的数据库操作

    当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...

  9. 循序渐进Python3(十二) --2--  web框架之django简单实现oracle数据库操作

    在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接.             产能在软 ...

随机推荐

  1. 原生ajax实现方式

    http://www.cnblogs.com/rubylouvre/archive/2013/01/08/2851051.html <!DOCTYPE html> <html lan ...

  2. WebAssembly学习(六):AssemblyScript - 限制与类型

    一.限制 将无类型的JavaScript编译为WebAssembly没有意义,因为它最终会导致运行其中较慢的一个JavaScript. 相反,AssemblyScript专注于WebAssembly擅 ...

  3. Mark Compact GC (Part two :Two-Finger)

    目录 Two-Finger算法 前提 概要 步骤一:移动对象 步骤二:更新指针 优缺点 表格算法 概要 步骤一:移动对象群 和 构筑间隙表格 移动对象群 构筑间隙表格 步骤二:更新指针 优缺点 Two ...

  4. tac---反转输出文件

    tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示.

  5. 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试

    原文:在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布, ...

  6. HRBUST 1376 能量项链

    能量项链 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HRBUST. Original ID: 13 ...

  7. android側滑菜单-DrawerLayout的基本使用

    眼下主流App开发中,部分是以側滑菜单为主布局架构,曾经做android側滑菜单时.大多选择使用github上的第三方开源框架SildingMenu,可是这个框架还是稍显笨重.好消息是google已经 ...

  8. js中由undefined说起

    typeof()函数 返回的是字符串.有六种可能:"number"."string"."boolean"."object" ...

  9. Docs-->.NET-->API reference-->System.​Web.​UI-->Control-->Methods-->Find​Control

    https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.control.findcontrol?view=netframework-4.7 ...

  10. c++值传递,指针传递,引用传递以及指针与引用的区别

    值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影 ...