Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。2019年12月2日,Django 3.0发布。
详细了解可以去往Django官网,百度百科-django,建议去Django官网。
前往Python官网进行下载
pip install Django==4.0.3
pip install Django==4.0.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
其中4.0.3为版本号,如不加版本号会直接安装最新版本
tip:Django版本需与Python版本对应 详情见官方解答
打开命令行,window键入
pip freeze | findstr Django
linux键入
pip freeze | grep -i 'Django'
如果输出
Django==版本号
恭喜,安装成功
当我们安装成功后,django-admin会成为终端命令
我们进入项目文件夹,键入以下命令
django-admin startproject projectname
tip:其中projectname为你想要创建的项目名称
。。。
我们进入项目目录
cd projectname
命令行键入项目启动命令:
python manage.py runserver
cmd反馈
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 24, 2022 - 17:07:56
Django version 3.2.12, using settings 'mytest.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
然后我们打开浏览器,访问http://127.0.0.1:8000/
看到如上页面说明启动成功
但是在刚才执行python manage.py runserver
的反馈中一下内容爆红,编程中爆红就没好事,使用我们来处理一下
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
翻译
您有18个未应用的迁移。您的项目可能无法正常工作,除非您为应用程序(admin、auth、contenttypes、sessions)应用迁移。
运行“python manage.py migrate”来应用它们。
先看原因:Django自动创建的项目没有将应用文件写入数据库,需要我们来进行手动迁移,即:运行python manage.py migrate
命令,但是Django默认的数据库为sqlite3数据库,我们一般用的都是MySQL,所以我们先进入settings.py文件中修改数据库配置文件
默认配置为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
修改后
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'projectname', # 数据库名称 建议和项目名称一样
'USER': 'MySQL用户名', # MySQL用户名
'PASSWORD': 'MySQL密码', # MySQL密码
'HOST': 'MySQL连接地址', # MySQL连接地址本地为 192.0.0.1
'PORT': 'MySQL连接端口号' # MySQL连接端口号 默认 3306
}
}
然后,不要急着去执行命令迁移,我们要先去MySQL里面去创建数据库,记得数据库名称与NAME的值相同,一定要设置默认字符集为UTF-8
最后,我们进入cmd,退出Django服务,或者再开一个命令行端口
键入迁移命令
python manage.py migrate
cmd反馈
PS D:\PythonProject\DjangoProject\mytest> python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
全部ok,说明命令执行成功