Django
创建第一个项目
Django Rest_Framework
环境安装与配置
序列化
本文档使用 MrDoc 发布
-
+
首页
创建第一个项目
进入myproject1的虚拟环境, 使用如下命令创建一个名为mysite的项目。 ``` django-admin startproject mysite ``` 你会看到myproject1目录下增加了一个名为`mysite’的文件夹和多个文件。每个文件夹和文件的作用如下所示: ``` mysite/ # 根目录 manage.py # Django命令行工具 mysite/ # 项目配置目录 __init__.py # 空文件,告诉python这个目录是python包 settings.py # 项目配置文件 urls.py # 项目所有urls声明汇总 asgi.py # ASGI服务器的入口文件 wsgi.py # WSGI服务器的入口文件 ``` 现在进入命令终端使用如下命令启动测试服务器: ``` python manage.py runserver ``` 此时打开浏览器访问http://127.0.0.1:8000/,你将看到熟悉的火箭标志页面(图片来源于网络),如下所示: ![](/media/202302/2023-02-04_193549_6487730.7796059651661732.png) Install worked! ## 编写自己的首页打印请求地址 前面展示的主页是Django自带的,现在我们要开始编写自己的首页,打印出当前请求路径。不过我们首先要创建一个新的应用(app)来实现这个功能。Django的一个项目(project)是可以包含多个应用(app)。 创建新的app 使用python manage.py startapp demo命令创建一个名为demo的应用,然后把其加入项目配置文件settings.py的INSTALLED_APPS中去, 如下所示。这是你会发现mysite目录下多了demo文件夹,专门存放与应用相关的文件比如视图views.py和urls.py。 ``` INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'demo', # 注册app ] ``` 然后编辑mysite/urls.py, 把demo应用的urls也加入到项目的urls中去,如下所示: ``` from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('demo.urls')) # 加入app对应urls ] ``` ## 编写视图函数和 URL 配置 编辑demo/views.py, 新增一个名为index的视图函数。每个视图函数的第一个默认参数都必需是request, 它是一个全局变量。Django把每个用户请求封装成了request对象,它包含里当前请求的所有信息,比如请求路径request.path, 当前用户request.user以及用户通过POST提交的数据request.POST。 index视图函数通过调用HttpReponse方法打印输出当前的请求路径request.path。 ``` # demo/views.py from django.http import HttpResponse def index(request): return HttpResponse("请求路径:{}" .format(request.path)) ``` 接下来我们要进行URL配置。新建demo/urls.py, 添加如下代码,其作用是将用户请求的地址与实际需要执行的视图函数相关联。下例中当用户在浏览器中访问index/时,Django将解析url,并调用执行views.py中的index视图函数。 ``` # demo/urls.py from django.urls import path from . import views app_name = "demo" urlpatterns = [ path('index/', views.index, name='index'), ] ``` 测试访问 使用python manage.py runserver命令重新启动测试服务器,并访问http://127.0.0.1:8000/index/, 你将看到如下页面: ![](/media/202302/2023-02-04_193847_4407030.744841697073229.png)
admin
2023年2月4日 22:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码