Python + Django 笔记

1. 首先安装Pythom 和 Django

命令行下载:

pip install Django

Python 下载地址:Download Python | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/

Django 下载地址:Download Django | Djangohttps://www.djangoproject.com/download/

2. 创建一个项目

在终端或命令行中创建一个django项目:

django-admin startproject FrontEndTool

这将在您的当前目录中创建一个 FrontEndTool 目录。如果它不起作用,请参阅运行 django-admin 的问题

让我们看看startproject创建了什么:

FrontEndTool/
    manage.py
    FrontEndTool/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

这些文件是:

  • 外部 FrontEndTool/根目录是您项目的容器。它的名字对 Django 无关紧要;您可以将其重命名为您喜欢的任何名称。
  • manage.py:一个命令行实用程序,可让您以各种方式与此 Django 项目进行交互。manage.py您可以在django-admin 和 manage.py中阅读有关的所有详细信息 。
  • 内部 FrontEndTool/目录是项目的实际 Python 包。它的名称是 Python 包名称,您需要使用它来导入其中的任何内容(例如FrontEndTool.urls)。
  • FrontEndTool/__init__.py: 一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果您是 Python 初学者,请阅读官方 Python 文档中有关包的更多信息。
  • FrontEndTool/settings.py:此 Django 项目的设置/配置。 Django settings会告诉你所有关于设置如何工作的信息。
  • FrontEndTool/urls.py:这个 Django 项目的 URL 声明;您的 Django 网站的“目录”。您可以在URL dispatcher中阅读有关 URL 的更多信息。
  • FrontEndTool/asgi.py:为您的项目服务的 ASGI 兼容 Web 服务器的入口点。有关详细信息,请参阅如何使用 ASGI 进行部署。
  • FrontEndTool/wsgi.py:为您的项目服务的 WSGI 兼容 Web 服务器的入口点。有关详细信息,请参阅如何使用 WSGI 进行部署。

3. 开发服务器

让我们验证您的 Django 项目是否正常工作。切换到外部FrontEndTool目录,然后运行以下命令:

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 applied.
Run 'python manage.py migrate' to apply them.

June 06, 2023 - 10:10:50
Django version 4.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

暂时忽略关于未应用的数据库迁移的警告;我们将很快处理数据库。

您已经启动了 Django 开发服务器,这是一个完全用 Python 编写的轻量级 Web 服务器。我们已将其包含在 Django 中,因此您可以快速开发东西,而无需处理配置生产服务器(例如 Apache),直到您准备好进行生产。

现在是注意的好时机:不要在类似于生产环境的任何地方使用此服务器。它仅供开发时使用。(我们的业务是制作网络框架,而不是网络服务器。)

现在服务器正在运行,请使用您的 Web 浏览器访问http://127.0.0.1:8000/ 。你会看到一个“恭喜!” 火箭起飞!

更改端口

默认情况下,该runserver命令在端口 8000 的内部 IP 上启动开发服务器。

如果要更改服务器的端口,请将其作为命令行参数传递。例如,此命令在端口 8080 上启动服务器:

python manage.py runserver 8080

如果要更改服务器的 IP,请将其与端口一起传递。例如,要监听所有可用的公共 IP(如果您正在运行 Vagrant 或想炫耀您在网络上其他计算机上的工作,这很有用),请使用:

python manage.py runserver 0.0.0.0:8000

可以在参考中找到开发服务器的完整文档 runserver

自动重新加载runserver

开发服务器根据需要自动为每个请求重新加载 Python 代码。您无需重新启动服务器即可使代码更改生效。但是,添加文件等某些操作不会触发重新启动,因此在这些情况下您必须重新启动服务器。

4. 创建应用程序

现在您的环境——一个“项目”——已经设置好了,您可以开始工作了。

您在 Django 中编写的每个应用程序都包含一个遵循特定约定的 Python 包。Django 附带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录。

项目与应用

项目和应用程序之间有什么区别?应用程序是一种可以执行某些操作的网络应用程序——例如,博客系统、公共记录数据库或小型投票应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以在多个项目中。

您的应用程序可以位于您的Python 路径上的任何位置。在本教程中,我们将在与您的文件相同的目录中创建我们的应用程序 manage.py,以便它可以作为自己的顶级模块导入,而不是FrontEndTool.

在项目的根目录(FrontEndTool)中创建一个名为haoYue的应用:

python manage.py startapp haoYue

这将创建一个目录haoYue,其布局如下:

haoYue/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

此目录结构将容纳轮询应用程序。

5. 写下你的第一个观点

让我们写第一个视图。打开文件haoYue/views.py 并在其中放入以下 ​​Python 代码:

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world.")

这是 Django 中最简单的视图。要调用视图,我们需要将它映射到一个 URL - 为此我们需要一个 URLconf。

要在 haoYue 目录中创建 URLconf,请创建一个名为urls.py. 您的应用程序目录现在应该如下所示:

haoYue/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    urls.py
    views.py

haoYue/urls.py文件中包含以下代码:

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

下一步是将根 URLconf 指向haoYue.urls模块。在 中 FrontEndTool/urls.py,添加一个 import for并在列表中django.urls.include插入一个 ,所以你有:include()urlpatterns

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("haoYue/", include("haoYue.urls")),
    path("admin/", admin.site.urls),
]

include()函数允许引用其他 URLconf。每当 Django 遇到 时include(),它会截断与该点匹配的 URL 的任何部分,并将剩余的字符串发送到包含的 URLconf 以进行进一步处理。

何时使用include()

include()当您包含其他 URL 模式时, 您应该始终使用。admin.site.urls是唯一的例外。

您现在已将index视图连接到 URLconf。使用以下命令验证它是否正常工作:

python manage.py runserver

在浏览器中访问http://localhost:8000/haoYue/,您应该会看到文本“ Hello, world. ”,您在 index视图中定义的。

找不到网页?

如果您在此处看到错误页面,请检查您要访问的是 http://localhost:8000/haoYue/而不是http://localhost:8000/

持续更新中...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于武沛齐的Django笔记中的Ajax请求部分,以下是一些常见的步骤和注意事项: 1. 在前端页面中,使用JavaScript编写一个Ajax请求。可以使用原生的XMLHttpRequest对象,也可以使用jQuery等库来简化操作。例如,使用jQuery的$.ajax()函数可以发送Ajax请求。 2. 在Django中,创建一个处理Ajax请求的视图函数。这个视图函数需要使用装饰器`@csrf_exempt`来取消跨站请求伪造保护。 3. 在视图函数中,可以通过`request.is_ajax()`方法来判断请求是否为Ajax请求。如果是Ajax请求,可以使用`request.POST`或`request.GET`来获取前端发送的数据。 4. 处理完请求后,可以返回JSON格式的数据给前端。可以使用Django提供的`JsonResponse`类来方便地返回JSON响应。 以下是一个简单的示例代码: 前端页面中的JavaScript代码: ```javascript $.ajax({ type: "POST", url: "/ajax-request-url/", data: { key1: value1, key2: value2 }, success: function(response) { // 处理成功响应的逻辑 }, error: function(xhr, status, error) { // 处理错误响应的逻辑 } }); ``` Django中的视图函数: ```python from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt @csrf_exempt def ajax_request_view(request): if request.is_ajax(): key1 = request.POST.get('key1') key2 = request.POST.get('key2') # 处理数据逻辑 response_data = {'key': 'value'} return JsonResponse(response_data) else: return HttpResponseBadRequest("Bad Request") ``` 请注意,这只是一个简单的示例,实际的实现可能会根据具体需求有所不同。还请参考官方文档和其他资源以获取更详细的信息和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值