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 进行数据库连接. 产能在软 ...
随机推荐
- uniq---报告或忽略文件中的重复行
uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用. 语法 uniq(选项)(参数) 选项 -c或——count:在每列旁边显示该行重复出现的次数: -d或--repeated:仅显 ...
- this对象的理解
(回答一:) (1).js的this指向是不确定的,也就是说是可以动态改变的.call/apply 就是用于改变this指向的函数,这样设计可以让代码更加灵活,复用性更高 (2).this 一般情况下 ...
- [Python] Problem with Default Arguments
Default arguments are a helpful feature, but there is one situation where they can be surprisingly u ...
- 【Oracle】使用bbed恢复delete的数据
表中的数据被delete之后并不会真正删除数据,而是打了一个删除标记,仅仅要还没有被覆盖就能够恢复回来. 实验步骤例如以下: SYS@ORCL>create table bbed_test(x ...
- h5播放音乐
h5音频播放,里面參数能够查看http://www.w3school.com.cn/html5/html_5_audio.asp <audio controls="controls&q ...
- poj1328Radar Installation 贪心
Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64472 Accepted: 14 ...
- 图片的title属性和alt属性的区别
在前端开发中,经常遇到有人在问图片的alt属性和title属性的区别,这是因为很多人对于alt属性和title属性没有彻底搞明白,今天零度给大家分析分析. title属性 首先,来看一下什么是titl ...
- cksum---检验文件CRC是否正确
- GetInvocationList 委托链表
最近发现C#程序初始化时在构造函数中,偶尔出现事件注册不成功.后查资料发现有GetInvocationList 这么一个获取类中的委托链表的函数, 使用方法如下: 1.在需委托的类(Class1)中增 ...
- 洛谷 P2242 公路维修问题
P2242 公路维修问题 题目描述 由于长期没有得到维修,A国的高速公路上出现了N个坑.为了尽快填补好这N个坑,A国决定对M处地段采取交通管制.为了求解方便,假设A国的高速公路只有一条,而且是笔直的. ...