使用Django创建第一个项目

使用Django创建一个新项目非常简单,只需要按照以下步骤操作即可:

安装Django

在终端中输入以下命令来安装Django:

pip install django

创建新项目

在终端中输入以下命令来创建一个新的Django项目:

django-admin startproject mysite

这会在当前目录下创建一个名为“mysite”的新目录,其中包含以下文件:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py:Django应用程序管理器的命令行接口,用于执行各种操作,例如运行开发服务器、创建数据库模式等等。
  • mysite/:项目的实际Python包,它是项目的主要名称空间。
    • __init__.py:一个空文件,告诉Python这是一个Python包。
    • settings.py:包含项目的配置选项,例如数据库连接,静态文件和媒体文件路径等等。
    • urls.py:定义应用程序的URL模式,将请求映射到视图函数。
    • asgi.py:ASGI服务器入口,用于支持异步Web服务。
    • wsgi.py:WSGI服务器入口,用于支持传统的同步Web服务。

运行开发服务器

在终端中进入项目目录,并运行以下命令以启动Django开发服务器:

cd mysite
python manage.py runserver

这将启动一个本地开发服务器,它将监听localhost:8000,并提供Django应用程序。

如果您要使用不同的IP地址和端口,可以使用以下命令:

python manage.py runserver 0.0.0.0:8080

这会将开发服务器绑定到0.0.0.0(意味着所有可用的IP地址)和端口8080。

创建新应用程序

除了项目本身之外,Django还有许多小型应用程序,这些应用程序可以交互并共享项目数据。在Django中,应用程序通常指的是某个功能单元(例如博客、新闻等)。要创建新的应用程序,请运行以下命令:

python manage.py startapp myapp

这将在项目目录中创建一个新的应用程序,名为“myapp”,其中包含以下文件:

myapp/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
    migrations/
        __init__.py
  • __init__.py:一个空文件,告诉Python这是一个Python包。
  • admin.py:管理该应用程序的模型,在后台管理模块中可以使用。
  • apps.py:定义应用程序配置,告诉Django如何处理该应用程序。
  • models.py:定义应用程序的数据模型,以及它们如何在数据库中存储。
  • tests.py:编写应用程序级别的单元测试。
  • views.py:定义应用程序中的视图函数,处理HTTP请求并返回HTTP响应。
  • migrations/:应用程序的更改记录(此文件夹最初为空)。

编写视图函数和路由

在Django中,视图函数处理HTTP请求,并返回HTTP响应。URL代码将HTTP请求映射到正确的视图函数。创建视图函数和URL模式的步骤如下:

1.在myapp/views.py文件中,创建一个简单的函数hello(request),该函数接收一个传入的HTTP请求,并返回一个文本响应。

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello, World!")

2.在myapp/urls.py文件中,添加一个URL模式,将根URL映射到hello视图函数。

from django.urls import path
from . import views

urlpatterns = [
    path('', views.hello, name='hello'),
]

3.更新mysite/settings.py文件,包括myapp作为已安装应用程序之一,并将myapp/urls.py文件中的URL模式包含在项目的URL模式中。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
]

...

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

运行开发服务器并检查结果

在终端中,重新启动Django开发服务器,并访问http://localhost:8000/。

您将看到响应“Hello, World!”,这是视图函数hello()返回的字符串。恭喜你,你已经成功创建了第一个Django应用程序!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Django创建第一个项目 - Python技术站

(0)
上一篇 2023年3月12日
下一篇 2023年3月12日

相关文章

  • 详解Django的FBV与CBV模式

    Django是一个非常流行的Web框架,它提供了多种开发模式来满足开发者的各种需求。在这篇文章中,我们将详细介绍Django的两种常见的视图开发模式:函数视图(FBV)和基于类的视图(CBV)。 函数视图(FBV) Django最初的设计就是基于函数视图的方式,这种视图的实现非常简单,所有相关的代码都写在一个函数中。一个典型的函数视图如下: from dja…

    Django 2023年3月12日
    00
  • settings.py配置文件是什么?

    Django是一个高效的Web框架,可以轻松地搭建一个功能完善的Web应用程序,而其强大灵活的配置可以借助于settings.py文件实现。 设置调整 Django的settings.py文件包含一系列的配置选项,这些选项可以根据开发需求进行相应的调整和配置。这些选项包括但不限于以下内容: DEBUG:这是一个布尔值,表示是否启用调试模式。在调试模式下,Dj…

    Django 2023年3月12日
    00
  • django 执行 python manage.py makemigrations 报错

    RuntimeError: Model class app_anme.models.xxx doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.  将app加入settings的INSTALLED_APPS 中

    Django 2023年4月11日
    00
  • 富文本编辑器Django-ckeditor

      前言 刚开始学习django的时候,在后台编辑数据的时候,总是在想,功能是否太简陋了点,只能做简单的文本编辑,所以在这里记录一个富文本编辑器Django-ckeditor。 选择标准: 具有基本的富文本编辑功能 可以上传图片 可以查看源码 有持续更新(维护)      使用 1.安装jango-ckeditor pip install django-ck…

    Django 2023年4月10日
    00
  • 给django视图类添加装饰器

    要将login_required装饰到view class的dispatch方法上, 因为dispatch方法为类方法,不是单个的函数,所以需要将装饰函数的装饰器 login_required转化为装饰类方法的装饰器,就要用到method_decorator . method_decorator的参数可以是单个装饰器,也可是一个装饰器组成的列表   from…

    Django 2023年4月9日
    00
  • Python Django教程之实现待办事项应用程序

    下面我将详细讲解“Python Django教程之实现待办事项应用程序”的完整攻略,包含两条示例说明。 1. 背景介绍 待办事项应用程序是一个很常见的小应用,它能够帮助我们高效地记录和管理我们的日常任务。因此,它也是Django教程中的一个很好的案例。在这个教程中,我们将使用Django框架和一些简单的HTML、CSS、JavaScript技术实现一个待办事…

    Django 2023年5月16日
    00
  • Django 权限管理(permissions)与用户组(group)详解

    Django 权限管理(permissions)与用户组(group)详解 什么是权限(permission)? 在 Django 中,权限指的是用户在应用程序中可以访问的特定资源(如: 页面、视图函数等)。Django 中使用权限来限制用户对资源的访问,从而保护安全性。 在 Django 中,权限是由 django.contrib.auth 应用程序提供的…

    Django 2023年5月15日
    00
  • Django 新建项目运行 python manage.py runserver 8080 报错

    PS D:\Programs\Python\WebSite1\MySite> python manage.py runserver 8080 Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent…

    Django 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部