当前位置: 首页 > 教程 > Django >

Django创建工程

精华
小牛编辑
137浏览
2023-03-14
现在我们已经安装了Django,让我们开始使用它。 在Django中,每个要创建Web应用程序称为项目; 一个项目是应用程序的总和。应用程序是一组依托于MVC模式的代码文件。 作为例子,让我们要建立一个网站,该网站是我们的项目,论坛,新闻,联系方式的应用程序。 这种结构使得移动的项目之间的应用更容易,因为每一个应用程序都是独立的。

创建项目

无论您是在Windows或Linux,只是得到一个终端或一个命令提示符并导航至要创建项目的位置,然后执行下面的代码 −

c:\> django-admin startproject myproject 

这将创建一个“myproject”文件夹结构如下−

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py

项目结构

“myproject”文件夹只是你的项目的容器,它实际上包含了两个元素 −

  • manage.py − 文件是一种项目本地 django-admin 通过命令行与项目交互(启动开发服务器,同步数据库...)。通过 manage.py 可以了解可使用的代码 −

C:> python manage.py help
  •  “myproject” 子目录中 − 此文件夹是项目的实际Python包。它包含四个文件 −

    • __init__.py − 只对于Python,处理这个文件夹的包。

    • settings.py − 正如名称所示,用于项目设置。

    • urls.py − 项目创建的各个环节和要调用的函数。项目的所有Toc。

    • wsgi.py − 如果需要部署项目在 WSGI 上。

设置项目

您的项目是建立在子文件夹 myproject/settings.py。以下是可能需要设置一些重要的选项 -

DEBUG = True 

此选项如上看到的,你的项目是否处于调试模式或没有。 调试模式可以让您获得有关项目的错误的详细信息。线上的项目千万不要将其设置为“True”。然而,这必须设置为“True”,如果想Django服务器处理静态文件。它一般使用的是开发模式。

DATABASES = {
   'default': {
      'ENGINE': 'django.db.backends.sqlite3',
      'NAME': 'database.sql',
      'USER': '',
      'PASSWORD': '',
      'HOST': '',
      'PORT': '',
   }
} 

数据库设置在“Database”字典。上面的例子是 SQLite 引擎。如前面所述,Django 也支持−

  • MySQL (django.db.backends.mysql)
  • PostGreSQL (django.db.backends.postgresql_psycopg2)
  • Oracle (django.db.backends.oracle) and NoSQL DB
  • MongoDB (django_mongodb_engine)
在设置任何新引擎,确保你安装了正确的 DB 驱动程序。

还可以设置其他选项,如:TIME_ZONE, LANGUAGE_CODE, TEMPLATE…

现在,您的项目创建和配置,确保它能工作 -
c:\myproject> python manage.py runserver
这里将获得像上运行上面的代码如下 -
C:\myproject>python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are app
lied.
Run 'python manage.py migrate' to apply them.
January 23, 2016 - 09:08:32
Django version 1.9.1, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CTRL-BREAK.