一、使用Django创建第一个项目
- 激活Django环境
# 找到django所安装的包,在cmd下输入:
cd C:\pyenv\pd\Scripts
# 激活当前python的环境
activate
![](https://img-blog.csdnimg.cn/20201113223341147.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Mjg1MDky,size_16,color_FFFFFF,t_70#pic_center)
- 指定位置创建名为CC的文件夹,并进入
![](https://img-blog.csdnimg.cn/20201113223439932.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Mjg1MDky,size_16,color_FFFFFF,t_70#pic_center)
- 创建会议室管理项目,项目名为meetingroom
django-admin startproject mettingroom
cd mettingroom
![](https://img-blog.csdnimg.cn/20201113223507679.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Mjg1MDky,size_16,color_FFFFFF,t_70#pic_center)
- 启动项目
# 指定8000端口
python manage.py runserver 0.0.0.0:8000
![](https://img-blog.csdnimg.cn/2020111322353958.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Mjg1MDky,size_16,color_FFFFFF,t_70#pic_center)
- 访问项目
http://127.0.0.1:8000,有外网的IP地址的话,外网IP地址也能访问。
- 应用启动后,Django使用默认的SQLite数据库,在项目的根目录下创建一个db.sqlite3的文件数据库。可以在settings.py中去指定数据库的路径,也可以更改为其它数据库引擎,达到访问其它数据库的目的。数据库的配置可以随时替换,同一套代码既可以使用SQLite数据库,也可以使用MySQL的数据库或Oracle数据库。
二、Django管理功能的后台的实现
- 查看Django管理后台的命令:http://127.0.0.1:8000/admin
有可能访问出错,出现这个表不存在,可能是因为没有初始化整个数据库。
2.1 初始化整个数据库
-
打开一个新的窗口
-
首先使用makemigrations创建数据库的迁移,产生SQL脚本
python manage.py makemigrations
![](https://img-blog.csdnimg.cn/20201113231721860.png#pic_center)
- 然后使用migrate命令,将默认的Model同步至数据库中,Django会自动在数据库中为这些Model创立相应的表。
python manage.py migrate
![](https://img-blog.csdnimg.cn/20201113232152964.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Mjg1MDky,size_16,color_FFFFFF,t_70#pic_center)
migrate时,有创建不同的表和表的字段。这时重启应用,就可看如上图所示的登录页面了。
2.2 创建后台管理员用户名与密码
- 创建管理员
# 例,创建一个superuser name为admin的用户名
python manage.py createsuperuser admin
# 然后再输入,添加用户名,邮箱,密码等
python manage.py createsuperuser
打开浏览器,登录即可看到当前页面如下。
Groups默认为空
Users可见登录名,邮箱状态和修改信息等。
三、在Pycharm中查看该项目
3.1 Pycharm专业版中打开文件
- 打开文件夹
- Pycharm配置虚拟环境
- db.sqlite3 数据库文件
- manage.py : Django 项目里面的工具,是项目运行的入口,指定配置文件路径,通过它可以调用django shell和数据库等。
- mettingsroom文件中
- asgi.py 它是异步的网关接口
- setting.py : 包含了项目的默认配置,包括数据库信息,调试标志以及其他一些工作的变量,是项目的整体配置文件。
- urls.py : 负责把URL模式映射到应用程序,是项目的URL配置文件。
- init.py是一个空文件,作用是这个目录test1可以被当作包使用。
- wsgi.py是项目与WSGI兼容的Web服务器入口。
3.2 settings.py的重要配置文件
# SECURITY WARNING: don't run with debug turned on in production!
# 是否显示DEBUG的各种错误信息,包括异常的信息,在生产环境中应该将DEBUG设置为False,防止别人访问应用时看到各种调试信息。
DEBUG = True
# 配置IP地址去能够去访问,默认127.0.0.1的端口才可以访问,可链接服到务器外网的IP。一般情况下是用Nginx或Tengine来做这个网关,然后将Django的应用开放出去。
ALLOWED_HOSTS = []
# Django项目中安装的应用,
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
# Django项目中启用的中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware', # 安全的中间件
'django.contrib.sessions.middleware.SessionMiddleware', # 防跨站攻击的中间件
'django.middleware.common.CommonMiddleware', # 认证授权的中间件
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# 配置的哪个使用的模板引擎
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates', # 默认使用的DjangoTemplates,以下为配置的上下文处理器
'DIRS': [],
'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',
],
},
},
]
# 指定了使用的数据库,默认使用的数据库为本地的sqlite。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3', # 数据库的路径和数据库的名称
}
}
# 配置项目的语言,默认
#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans' # 设置为中文
- Django应用是以开发者模式启动的,不需要重启应用,刷新页面即可看到效果。
**注:**文中所有cmd命令均可在Pycharm中的Terminal中执行。
3.3 创建一个APP
- Pycharm中的Terminal中执行:python manage.py startapp room
- 将app添加至settings里面
一个Django项目中可以存在多个app应用,在settings.py中添加进去即可。