django 简单会议室预约(2)

时间:2022-05-09 03:06:05

--我们先打开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">
 看见上面的很多行,表就已经键好了 


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