Django | 一文带你搞定Django项目的创建、应用的注册、服务请求、urls.py的配置、settings.py的配置、配置项的介绍、URL调度器的使用

一、Django构建项目

1.1 创建项目

命令: django-admin startproject 项目名

django-admin startproject django_demo01

其中 mysite 是你的项目名称
这时会在指定的项目文件夹中,生成一个 mysite 文件夹,目录结构如下:

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

这些目录和文件的说明如下:

  • manage.py 一个让你用各种方式管理 Django 项目的命令行工具。
  • init.py 一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包
  • settings.py 项目的配置文件,有关于数据库、编码、时区等
  • urls.py 项目的 url路由配置,即url路由与其函数的对应配置
  • wsgi.py :作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
  • asgi.py :作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口

1.2 启动项目

在该cmd目录下执行如下命令,可以启动项目:

python manage.py runserver

该命令后续可以增加参数,如:

python manage.py runserver 8081
python manage.py runserver 127.0.0.1:8888

在浏览器中访问提示的服务器网址:Starting development server at http://127.0.0.1:8000/ 中的

在这里插入图片描述在这里插入图片描述

1.3 创建Django应用

一个项目由很多个应用组成的,每一个应用完成一个功能模块。
创建应用的命令如下: python mange.py startapp应用名称

cmd窗口中,进入最外层的mysite,在这个目录下,我们可以输入如下命令,创建一个新的子应用:

python  manage.py  startapp  app01

创建完成后的文件目录结构如下:

─django_demo01
    │  db.sqlite3
    │  manage.py
    │
    ├─app01
    │  │  admin.py
    │  │  apps.py
    │  │  models.py
    │  │  tests.py
    │  │  views.py
    │  │  __init__.py
    │  │
    │  └─migrations
    │          __init__.py
    │
    └─django_demo01
        │  asgi.py
        │  settings.py
        │  urls.py
        │  wsgi.py
        │  __init__.py
        │
        └─__pycache__
                settings.cpython-38.pyc
                urls.cpython-38.pyc
                wsgi.cpython-38.pyc
                __init__.cpython-38.pyc
  • init.py 是一个空文件,表示当前目录news可以当作一个python包使用。
  • tests.py 文件用于开发测试用例,在实际开发中会有专门的测试人员,这个事情不需要我们来
    做。
  • models.py 文件跟数据库操作相关。
  • views.py 文件跟接收浏览器请求,进行处理,返回页面相关。
  • admin.py 文件跟网站的后台管理相关。
  • migrations 数据库迁移文件。

1.4 应用注册

应用创建成功后,需要注册才可以使用,也就是建立应用和项目之间的关联,在项目 /settings.py 中
INSTALLED_APPS下添加应用的名称就可以完成注册。
初始项目的INSTALLED_APPS如下图:

INSTALLED_APPS = (
	'django.contrib.admin',
	'django.contrib.auth',
	'django.contrib.contenttypes',
	'django.contrib.sessions',
	'django.contrib.messages',
	'django.contrib.staticfiles',
	'app01',
)

在这里插入图片描述

1.5 服务说明

能够打开一个django的欢迎页面,是因为启动了django自带的一个简易web服务器,它是一个用纯 Python 写的轻量级的 Web 服务器。仅仅用于开发环境,不要在生产环境使用。

在这个服务器中,在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。

二、Djnago请求

2.1 请求流程

在这里插入图片描述

2.2 urls.py配置

from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('firstRequest/', views.FirstRequest),
]

2.3 views.py

from django.shortcuts import render
from django.http import HttpResponse


# Create your views here.
def FirstRequest(request):
    return HttpResponse("第一个Django请求成功")

2.4 启动服务

python manage.py runserver

2.5 浏览器发送请求

在这里插入图片描述

其中在views.py文件中,每一个请求方法需要有一个request参数,通过该参数可以获取请求相应信息。可以使用dir(request)查看详细。

[
'COOKIES', 'FILES', 'GET', 'META', 'POST', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', 
'__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
 '__subclasshook__', '__weakref__', '_current_scheme_host', '_encoding', '_get_full_path', '_get_post', '_get_raw_host', '_get_scheme', '_initialize_handlers', '_load_post_and_files'
, '_mark_post_parse_error', '_messages', '_read_started', '_set_content_type_params', '_set_post', '_stream', '_upload_handlers', 'accepted_types', 'accepts', 'body', 'build_absolute_uri', 'close', 'content_params', 'content_type', 'csrf_processing_done', 'encoding', 'environ', 'get_full_path', 'get_full_path_info', 'get_host', 'get_port', 'get_signed_cookie', 'headers', 'is_secure', 'method', 'parse_file_upload', 'path', 'path_info', 'read', 'readline', 'readlines', 'resolver_match', 'scheme', 'session', 'upload_handlers', 'user'
]

2.6 开发第一个登录表单

  1. urls.py配置
from django.contrib import admin
from django.urls import path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('firstRequest/', views.FirstRequest),
    path('login/', views.login),
]
  1. views.py添加业务方法
def login(request):
    # 返回页面
    html = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值