django 简单会议室预约(2)
--我们先打开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)的更多相关文章
- django 简单会议室预约(6)
后台完了现在来看前端,前端用了一个bootstrap框架,看起来能好看点 先看一下文件结构:在djapp里创建了两个文件夹templates和static templates里面是要显示的页面,sta ...
- django 简单会议室预约(5)
再来看看views.py的后半部分,对数据库的增删改查 #获取学院列表 def get_acad_list(): room_list = ConfeRoom.objects.all() #对数据库的操 ...
- django 简单会议室预约(4)
基本的配置已经完成了,来看看最重要的views.py 先看看简单的注册登录功能,在django里有一个专门的模块用来验证用户信息 :所以只需要调用就好了: #-*-coding:utf-8 -*- f ...
- django 简单会议室预约(1)
django 是python的一个web框架,为什么要用django,作者之前用过另一个框架flask,虽然flask比较简单很容易让人学,但是flask没有整体感,会让初学着茫然. 这里我们用dja ...
- django 简单会议室预约(3)
URL配置: 今天配置一下URL,打开urls.py配置如下: from django.conf.urls import patterns, include, url from djapp impor ...
- DJango简单的后台定义登录验证
第一步创建一个新的项目 APPLICATIONNAME : 表示创建子项目 第二步:找到主项目的url 进行 include 分发式url 简单的说,就是将app里边的url放在这里. 这里也可以找到 ...
- 基于django的会议室预订系统
会议室预订系统 一.目标及业务流程 期望效果: 业务流程: 用户注册 用户登录 预订会议室 退订会议室 选择日期:今日以及以后日期 二.表结构设计和生成 1.models.py(用户继承Abstrac ...
- Django简单的数据库操作
当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...
- 循序渐进Python3(十二) --2-- web框架之django简单实现oracle数据库操作
在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接. 产能在软 ...
随机推荐
- DOM操作系列-01
]常见事件: //onclick 点击时触发事件. //ondblclick 双击时触发事件. //onkeydown 按键按下 //onkeypress 点击按键 //onke ...
- Js怎么获取DOM及获取浏览器的宽高?
在JavaScript中,经常会需要获取document文档元素,是HTML文档对象模型的缩写,HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法. ...
- Python正则表达式初识(九)
继续分享Python正则表达式的基础知识,今天给大家分享的特殊字符是[\u4E00-\u9FA5],这个特殊字符最好能够记下来,如果记不得的话通过百度也是可以一下子查到的. 该特殊字符是固定的写法,其 ...
- 简单学习Python之路1
如何在cmd中打开文件:先用win+R打开cmd界面,在已知到你自己要打开文件的地址之后比如(F:\workspace),你先按F:,然后在用cd workspace进入workspace的文件中,然 ...
- 【VC++学习笔记四】MFC应用程序中框架类的获取
一.文档类中 获取视图: 先获取主窗体,在根据主窗体获取视图 pMain->GetActiveDocument();注意类型转换 由于文档中可能包含多个视图,可以按照下面函数获取: CView* ...
- 通过rng-tools自动补充熵池
通过rng-tools自动补充熵池原文 https://blog.csdn.net/tiantao2012/article/details/78792046首先查看系统当前熵池的大小# cat /pr ...
- Torch 的安装与基本用法
本文安装仅限 ubuntu 系统.官方文档见:Getting started with Torch. 0. 简介 Torch 使用轻量级脚本语言 Lua 及其 C/CUDA 扩展模块实现,底层数值计算 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- vue中 v-cloak 的用法
原文来自:http://www.sunzhongwei.com/hide-vuejs-variable-with-v-cloak-when-page-loading
- 分享一个关于js原型链的理解
http://www.cnblogs.com/wyaocn/p/5815761.html