在使用Python语言进行web开发实际开发过程中,django框架项目可以包含特点网站的配置和应用程序,因此,会出现单个项目实际上可能包括多个应用程序。因此,接下来就个大家分享一下如何搭建django基础框架?
首先,您可能要创建一个用于存储 Django 项目的文件夹,从操作系统提示符进入此文件夹,然后发出以下命令:
(django_oracle) [jon@Python01 app]$ django-admin.py startproject DatabaseOperation
结果,应该显示 DatabaseOperation文件夹及其内含的以下四个文件:init.py、manage.py、settings.py 以及 urls.py。这四个文件的每一个都在项目中起着特定作用。
- 包括 init.py 是为了让此目录成为 Python 程序包,以便您能够通过点符号引用项目的各部分;例如,DatabaseOperation.settings。
-
manage.py 表示与上述 django-admin.py 提供相同命令但旨在用于此特定项目的命令行实用程序。
- settings.py 是包含项目设置的配置文件。在此,您可以指定数据库连接信息、时区和语言代码、有关项目中所安装的应用程序的信息,以及一些其他设置。
- urls.py 又称为 URLconf,是包含将 URL 模式映射到 Python 回调函数的 Python 代码的配置文件。
❝您可以看到,即使 Django 项目的配置文件也是以 Python 源代码文件的形式提供。此方法被证明很有优势,因为它使您能够动态指定设置和/或从其他配置文件中导入设置。进行下一步操作前需要配置数据库的连接信息,默认是通过SQLite3实现数据库创建,我们现在暂时使用Oracel或者MySQL。需要编辑 DatabaseOperation文件夹中的 settings.py 文件,将DATABASES字节组的数据库信息进行修改,如下所示:
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'PORT': '3306', } }
注1: django默认使用MySQLdb模块连接mysql。但是在python3中没有这个模块只有python2中有这个模块,python3只有pymysql模块,所以我们需要主动修改为pymsql
解决方案:
在project同名文件下的__init__.py文件中添加如下代码即可
import pymysql pymysql.install_as_MySQLdb()
-
注:没有 pymysql 的话,可以这样安装 pip install pymysql
注2: 报错异常
File "/home/Jon/Envs/djenv1/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 36, in <module> raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
解决方案:
❝打开文件报错的提示目录文件:"/home/Jon/Envs/djenv1/lib/python3.6/site-packages/django/db/backends/mysql/base.py" 。注释下面一段话:
# if version < (1, 3, 13): # raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version)
注3: 报错异常:Pycharm连接数据库出现
RuntimeError: cryptography is required for sha256_password or caching_sha2_password
解决方案:
- 安装cryptography即可:
pip install cryptography
注4: 报错异常
File "/home/zhangtq/.local/lib/python3.6/site-packages/django/db/backends/mysql/operations.py", line 146, in last_executed_query query = query.decode(errors='replace') AttributeError: 'str' object has no attribute 'decode'
解决方案:
❝打开文件报错的提示目录文件"/home/zhangtq/.local/lib/python3.6/site-packages/django/db/backends/mysql/operations.py",将decode改为encode即可。
❝现在您已创建项目,可以继续下一环节,在此项目内创建一个应用程序。为此,进入先前由 django-admin.py 生成的 DatabaseOperation文件夹,并发出以下命令:
(django_oracle) [jon@Python01 DatabaseOperation]$ python manage.py startapp datadump
❝上述命令应该生成文件夹 datadump 及其内含的以下四个文件:init.py、models.py、views.py 以及 tests.py。
- 同样,init.py 用于使此目录成为 Python 程序包。
- Tests.py 可用于为应用程序构建测试套件。此外,您将使用其余的两个文件分别定义应用程序的模型和视图:
- models.py 用于包含模型(您在 django.db.models.Model 类之上构建的 Python 类),其中每个模型都映射到一个数据库表。
- views.py 用于包含视图(Python 函数),其中每个视图或者返回 HttpResponse 对象(内容将显示在所请求页面上),或者引发 HTTP 异常。
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'DatabaseOperation.datadump', ]
❝您已完成了应用程序主干的构建。然而,在可以查看应用程序是否正常工作之前,需要执行一些额外步骤。当然,这些步骤可能会有所不同,具体取决于您希望应用程序执行的操作。
例如,如果您要构建不与数据库交互的简单应用程序,则不需要将数据库信息放在 settings.py 配置文件以及设计数据模型中。但在大多数情况下,您至少需要执行以下五个步骤:
- 在 settings.py 中指定数据库信息
- 创建模型(models)
- 创建模板(templates)
- 创建视图(views)
- 在 urls.py 中配置 URL 模式
以上就是“如何搭建django基础框架?”的详细内容,想要了解更多django框架内容欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/9984/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取