Django_环境配置(一)
一、安装Django
# 在CMD中运行 pip install django # 查看djangp版本 python manage.py version
二、创建项目
# 在CMD中运行
django-admin startproject test1 # test1为项目名称
- 外部test1
/
根目录是项目的容器。它的名称对Django无关紧要;您可以将其重命名为任何喜欢的名称。 manage.py
:一个命令行实用程序,可让您以各种方式与该Django项目进行交互。您可以manage.py
在django-admin和manage.py中阅读有关的所有详细信息 。- 内部
test1/
目录是项目的实际Python包。它的名称是Python包名称,您需要使用它来导入其中的任何内容(例如test1.urls
)。 test1/__init__.py
:一个空文件,告诉Python该目录应视为Python软件包。如果您是Python初学者,请在Python官方文档中阅读有关包的更多信息。test1/settings.py
:此Django项目的设置/配置。 Django设置将告诉您所有设置的工作方式。test1/urls.py
:此Django项目的URL声明;Django支持的网站的“目录”。您可以在URL调度程序中阅读有关URL的更多信息。test1/asgi.py
:与ASGI兼容的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用ASGI进行部署。test1/wsgi.py
:兼容WSGI的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用WSGI进行部署。
三、创建应用
# 在CMD中运行 cd test1 python manage.py startapp booktest # booktest为应用名称
- _init.py_是一个空文件,表示当前目录booktest可以当作一个python包使用。
- tests.py文件用于开发测试用例,在实际开发中会有专门的测试人员,这个事情不需要我们来做。
- models.py文件管理数据库操作相关。
- views.py文件接收浏览器请求,进行处理,返回页面相关。
- admin.py文件与网站的后台管理相关。
- migrations文件夹管理生成的迁移文件。
四、注册应用
应用创建成功后,需要注册才可以使用,也就是建立应用和项目之间的关联,在test1/settings.py中INSTALLED_APPS下添加应用的名称就可以完成注册。
五、使用mysql数据库
Django默认使用的sqlite3,使用mysql数据库需要修改./test1/settings.py文件中的DATABASES参数
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 使用mysql数据库 'NAME': 'book', # 数据库的名称 'USER': 'root', # 账户 'PASSWORD': '123456', # 密码 'HOST': '192.168.0.58', # 数据库ip 'PORT': '3306', # 端口 } }
修改后还需要在./test1/settings.py文件中导入pymysql才可以
import pymysql pymysql.version_info = (1, 4, 0, 'final', 0) # 指定版本 pymysql.install_as_MySQLdb()
遇见的问题
1、运行时报错:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.1,原因是没有指定版本
2、 运行时报错:pymysql.err.OperationalError: (1049, "Unknown database 'book'") ,原因是没有创建book数据库。注:数据库需要手动创建
六、视图
打开文件test1/views.py
,并将以下Python代码放入其中:
from django.http import HttpResponse def index(request): return HttpResponse("Hello, world!")
上面是一个最简单的视图,要想访问该视图,我们需要为视图配置路由。
配置方法是在应用booktest中创建名为urls.py的文件,并将以下Python代码放入其中:
from django.urls import path from booktest import views urlpatterns = [ path('index', views.index) # index可以为空白 ]
上面只是配置好了应用的url配置,还需要在项目中进行url配置。
urlpatterns = [ path('admin/', admin.site.urls), path('booktest/', include('booktest.urls')), # booktest/ 可以为空白 ]
七、开发服务器
验证Django项目是否有效
# 在CMD中运行 python manage.py runserver 8989 # 8989为指定运行的端口,可省略,默认8000
访问开发服务器
当路由均为空白时