IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 使用PyCharm Community编写第一个 Django app -> 正文阅读

[Python知识库]使用PyCharm Community编写第一个 Django app

工具

PyCharm Community
django 3.2.10

步骤

1. 创建项目 File + New project

项目名CrawlDemo
在这里插入图片描述

2. 创建一个Django项目

在Terminal 中输入以下代码,自动生成一些代码来创建一个Django项目——一个Django实例的设置集合,包括数据库配置、Django特定的选项和应用程序特定的设置。

...\> django-admin startproject mysite

此处py -m django --version 作用为查看django版本。此处已经安装了django包,不知为何显示找不到模型,不过对后面操作没影响

此处py -m django --version 作用为查看django版本。此处已经安装了django包,不知为何显示找不到模型,不过对后面操作没影响

项目结构

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

These files are:

The outer mysite/ root directory:项目的容器。命名自主选择。
manage.py:一个命令行实用程序,允许你以各种方式与这个Django项目交互。文档
The inner mysite/ directory:项目的实际Python包。它的名字是Python包的名字,你需要用它来导入里面的任何东西(例如mysite.urls)
mysite/init.py: 一个空文件,它告诉Python这个目录应该被认为是一个Python包。文档
mysite/settings.py: 这个Django项目的设置/配置。Django设置会告诉你设置是如何工作的。文档
mysite/urls.py: 这个Django项目的URL声明;django网站的“目录”。文档
mysite/asgi.py:一个为与asgi兼容的web服务器提供服务的入口点。文档
mysite/wsgi.py: 与wsgi兼容的web服务器为您的项目服务的入口点。文档

3. 开发服务器

首先验证服务器是否工作。

//Terminal中输入以下内容
...\> py manage.py runserver

结果显示如下:

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

您已经启动了Django开发服务器,这是一个纯用Python编写的轻量级Web服务器。我们在Django中包含了这个功能,这样您就可以快速开发,而无需配置生产服务器(例如Apache),直到您准备好投入生产。
现在是时候注意了:不要在任何类似于生产环境的地方使用该服务器。它只在开发时使用。(我们的业务是制作Web框架,而不是Web服务器。)
现在服务器正在运行,用您的Web浏览器访问http://127.0.0.1:8000/。你会看到一句“恭喜!”一枚火箭起飞了。它工作!
在这里插入图片描述

补充:服务器端口号修改

默认情况下,runserver命令在8000端口的内部IP上启动开发服务器。
如果您想更改服务器的端口,请将其作为命令行参数传递。例如,该命令在8080端口上启动服务器 runserver文档

//Terminal中输入以下内容
...\> py manage.py runserver 8080

自动重新加载runserver

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

4. 创建Polls app

到这一步,环境(项目)已经搭建好了,可以继续下一步了。
在Django中编写的每个应用程序都由一个遵循特定约定的Python包组成。Django提供了一个自动生成应用程序基本目录结构的实用程序。

一个项目project可以包含多个应用程序app,一个应用程序可以存在于多个项目中。

    在本教程中,我们将在与manage.py文件相同的目录下创建我们的poll app,这样它就可以作为自己的顶级模块导入,而不是作为mysite的子模块。
...\> py manage.py startapp polls

补充:polls的结构

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

5. 编写view

5.1 view编写

// polls/views.py文件
from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

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

5.2 创建URLconf

// polls/urls.py文件
from django.urls import path

from . import views

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

下一步是将根URLconf指向轮询url模块。在mysite/urls.py中,为django.urls.include添加一个import,并在urlpatterns列表中插入一个include(),这样你就有:

// mysite/urls.py文件
from django.contrib import admin
from django.urls import include, path

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

include()函数允许引用其他url配置文件。当Django遇到include()时,它会切断匹配的URL的任何部分,并将剩余的字符串发送给包含的URLconf进行进一步处理。

When to use include()
You should always use include() when you include other URL patterns. admin.site.urls is the only exception to this

运行manage.py看程序是否成功。

//Terminal
...\> py manage.py runserver
//或者直接运行 manage.py,设置参数为 runserver

浏览如下网址,出现"Hello,World. You’re at the polls index."说明成功
在这里插入图片描述

补充:path() 函数

The path() function is passed four arguments, two required: route and view, and two optional: kwargs, and name. At this point, it’s worth reviewing what these arguments are for.

对于route参数。route是一个包含URL模式的字符串。当处理一个请求时,Django会从urlpatterns中的第一个模式开始,然后沿着列表向下移动,将请求的URL与每个模式进行比较,直到找到一个匹配的。
模式不搜索GET和POST参数,也不搜索域名。例如,在对https://www.example.com/myapp/的请求中,URLconf将查找myapp/。在对https://www.example.com/myapp/?page=3的请求中,URLconf也会查找myapp/。

参考链接
django文档

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:36:34  更:2021-12-09 11:37:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:30:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码