Pycharm新建Django项目和应用

1.在没有提前创建虚拟环境和安装django的情况下,直接通过Pycharm创建一个django项目,可以看到虚拟环境成功创建,且包也安装好了,项目目录结构如下:

 2.启动服务,能正常访问本地页面证明服务启动成功

python manage.py runserver

 3.创建一个应用

①命令行创建

python manage.py startapp demo

②直接在ide里面创建,目录如下

4.编写第一个视图

在应用demo目录下的views.py文件下输入如下

from django.http import HttpResponse

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

ps:这里index()函数之所以需要定义一个形参是因为在Django框架中,当服务器接收到HTTP请求后,会创建一个WSGIRequest对象,并将其作为视图函数的第一个参数传递。这个对象包含了客户端发送的所有信息,如请求路径、方法、GET/POST参数、上传的文件、cookies、session以及其他HTTP头信息。如果不传请求就会报错

这是在 Django 中最基本的视图。要在浏览器中访问它,我们需要将其映射到一个 URL——为此我们需要定义一个 URL 配置,简称为 "URLconf"。这些 URL 配置是在每个 Django 应用程序内部定义的,它们是名为urls.py的 Python 文件。

要为demo应用定义一个 URLconf,创建一个名为demo/urls.py的文件,并包含以下内容:

from django.urls import path

from . import views

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

在项目中配置全局 URLconf,以包含在demo.urls中定义的 URLconf。为此,在DjangoProject/urls.py中添加对django.urls.include的导入,并在urlpatterns列表中插入一个 include(),如下所示:

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

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

path() 函数至少需要两个参数:route 和 viewinclude() 函数允许引用其他 URLconfs。每当 Django 遇到 include() 时,它会截断 URL 中匹配到该点的部分,并将剩余的字符串发送到包含的 URLconf 以进行进一步处理。

include() 的理念是使其可以即插即用。因为应用有它自己的 URLconf(demo/urls.py),他们能够被放在 "/demo/" , "/fun_demo/" ,"/content/demo/",或者其他任何路径下,这个应用都能够正常工作。

包含其他 URL 模式时,应该始终使用 include()。唯一的例外是admin.site.urls ,这是 Django 为默认管理站点提供的预构建 URLconf。

因为新增了一个url文件所以要重启服务器(只是修改文件内容则不需要重启服务器),浏览器访问localhost:8000/demo/就能看到我们试图里的内容Hello, world

具体可以看官方介绍文档:

编写你的第一个 Django 应用,第 1 部分 | Django documentation | Django

 

posted @ 2025-05-12 16:14  luckylemon  阅读(173)  评论(0)    收藏  举报