一、Django适用场景
1、内容管理系统
- 博客
- CMS
- Wiki
2、企业内部系统
- 会议室预定
- 招聘管理
- ERP&CRM
- 报表系统
3、运维管理系统
- CMDB
- 发布管理
- 作业管理
- 脚本管理
- 变更管理
- 故障管理
Django是个快速开发网站的框架,拥有很多插件,秉持不重复造轮子的观念,能快速实现很多常见的功能。如果只是想开发一个小型的网站的话,用Django是一个很好的选择。
二、Django的MTV架构
三、适用Django创建第一个项目
1、创建项目
django-admin startproject 项目名称
进入创建的项目后
python manage.py runserver 0.0.0.0:8080
ps:在pycharm中也可以直接点运行键就好
0.0.0.0 表示监听本机的所有IP地址
2、初始化数据库
用makemigrations创建数据库的迁移,产生SQL脚本,然后用migrate命令,把默认的model同步到数据库,Django会自动在数据库里为这些model建立相应的表。
python manage.py makemigrations
python manage.py migrate
3、创建管理员可以登录管理后台
python manage.py createsuperuser
4、了解各个文件
- __init__.py:这个文件是用来告诉Python这个文件夹当做一个包。在Python术语中,包是一组模块的集合,主要用来把相似的文件分组,防止出现命名冲突。
- asgi.py:异步的网关接口
- settings.py:整个Django项目的配置文件
- urls.py:这是另外一个配置文件。可以把它看做是介于URLS和用来处理它们的Python方法之间的匹配。
- wsgi.py:wsgi是python web开发的标准,类似于协议。它是服务器程序和应用程序的一个约定,规定了各自使用的接口和功能,以便二和互相配合WSGI应用程序的部分规定。
5、settings.py中几个重要的配置:
- DEBUG:应用时要改成False
- ALLOWED_HOSTS:规定有哪些IP地址可以访问这个应用,默认只有127.0.0.1这个端口
- INSTALLED_APPS:创建的应用
- MIDDLEWARE:中间件
- TEMPLATES:配置使用了哪个模板引擎
- DATABASES:配置数据库
- LANGUAGE_CODE:语言,默认英文,中文是:“zh-hans”
5、setting.py 必备设置
#确定html放置的文件夹为templates
TEMPLATES = [
{
'DIRS': [os.path.join(BASE_DIR,'templates')],
...
},
]
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False # 国内时间不准问题 不为UTC
6、插件新的应用app
python manage.py startapp 应用名称
7、admin.py后台配置
#更改后台标题
admin.site.site_header = '我在左上角'
admin.site.site_title = '我在浏览器标签'
admin.site.index_title = '我在后台首页'
8、文件上传配置
#setting.py
# 设置上传文件的路径
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') #media即为图片上传的根路径
#urls.py
urlpatterns = [
# 处理图片显示的url,使用Django自带serve,传入参数告诉它去哪个路径找,我们有配置好的路径MEDIAROOT
re_path(r'^media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT}),
]