编程学习网 > 编程语言 > Python > 如何搭建django基础框架?
2022
08-30

如何搭建django基础框架?

在使用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 异常。
下一步是将新创建的应用程序与项目相关联。为此,您需要编辑 DatabaseOperation文件夹中的 settings.py 文件,将字符串“DatabaseOperation.datadump”追加到 INSTALLED_APPS 字节组中,如下所示:
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框架内容欢迎持续关注编程学习

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取