为什么要创建虚拟环境呢?
你有两个项目同时进行,一个需要pytnon3.9和Django3.x版本的,一个需要python3.7和Django2.x版本的,不进行环境隔离的话,运行很麻烦,还不懂的话可以自行百度
可以用virtualenv
(虚拟环境包)
发布系列 | 最新发布 | 主流支持结束 | 扩展支持结束 |
---|---|---|---|
3.2(LTS) | 3.2.10 | 2021年12月 | 2024年4月 |
2.2(LTS) | 2.2.25 | 2019年12月2日 | 2022年4月 |
1.11(LTS) | 1.11.29 | 2017年12月2日 | 2020年4月1日 |
1.8(LTS) | 1.8.19 | 2015年12月1日 | 2018年4月1 日 |
1.4(LTS) | 1.4.22 | 2013年2月26日 | 2015年10月1日 |
未来版本
发布系列 | 发布日期 | 主流支持结束 | 扩展支持结束 |
---|---|---|---|
4.2(LTS) | 2023年4月 | 2023年12月 | 2026年4月 |
官方对照表: https://www.djangoproject.com/download/#supported-versions.
推荐这几个版本
Django 2.2 LTS(长期支持版本)
Django 3.2 LTS(长期支持版本)
Django 4.2 LTS(长期支持版本)
Django 版本 | Python版本 |
---|---|
2.2 | 3.5、3.6、3.7、3.8(2.2.8中增加)、3.9(2.2.17中增加) |
3.0 | 3.6、3.7、3.8、3.9(在 3.0.11 中添加) |
3.1 | 3.6、3.7、3.8、3.9(在3.1.3中添加) |
3.2 | 3.6、3.7、3.8、3.9、3.10(在3.2.9中添加) |
官方文档: https://docs.djangoproject.com/en/3.2/faq/install/#faq-python-version-support.
django-admin startproject web
此时目录
|-- web
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
目录说明:
cd web #进入目录
python manage.py startapp myhome #新建myhome app
python manage.py startapp myadmin #新建myadmin app
数据库使用版本mysql5.7.25
进入到web/settings.py
文件中
修改
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myadmin',# 自定义的APP
'myhome'# 自定义的APP
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],#是指到 BASE_DIR/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',
],
},
},
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'bookshop',#选择数据库的名,请确认你的mysql中有这个库
'USER':'root', # 数据库登录用户名
'PASSWORD':'123456', # 数据库密码
'HOST':'localhost',#数据库主机IP,如保持默认,则为127.0.0.1
'PORT':'3306', # 数据库端口号,如保持默认,则为3306
}
}
LANGUAGE_CODE = 'zh-Hans'#把英文改为中文
TIME_ZONE = 'Asia/Shanghai'#设置时区
USE_I18N = True #默认为True,是否启用自动翻译系统
USE_L10N = True# 默认False,以本地化格式显示数字和时间
USE_TZ = False# 默认值True。若使用了本地时间,必须设为False
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static')
]
templates
文件夹和static
文件夹|-- myadmin
|-- myhome
|-- static
|-- templates
|-- web
|-- manage.py
mysql -u root -p
create database bookshop default charset=utf8mb4;
web/myadmin/views.py
修改以下内容:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("网站的后台页面")
web/myhome/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("网站的前台页面")
web/web/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
#path('admin/', admin.site.urls),
path('myadmin/', include('myadmin.urls')),
path('', include('myhome.urls')),
]
新建urls.py
文件
web/myhome/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index,name="myhome_index"),
]
web/myadmin/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index,name="myadmin_index"),
]
python manage.py runserver 0.0.0.0:80
可能会报错import MySQLdb as Database ModuleNotFoundError: No module named 'MySQLdb'
pip install mysqlclient