安装

pip install django

创建项目

首先打开powershell打开项目与创建到的文件夹

django-admin startproject django_demo01
django-admin startproject 项目名

多出了一个django_demo01的文件夹,这就是我们的项目了

打开项目文件夹,发现一个文件和一个文件夹

manage.py和django_demo01

打开django_demo01,发现如下

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

 启动项目

打开命令行

python manage.py runserver
命令后可以添加网址,端口号等参数

访问127.0.0.1:8000,进入一个页面代表项目创建成功。

创建模块

在powershell下输入如下指令

python  manage.py  startapp  模块名

即可新建一个模块,内有如下文件

模块创建好后要注册模块,打开setting.py,找到INSTALLED_APPS,在最后添加模块名即可。我们的模块名叫hello,如下:

创建视图

打开新建的模块,找到views.py文件,新建一个函数

from django.http import HttpResponse
def hello_world(request):
    return HttpResponse("Hello World!")

这样一个视图就完成了 ,访问此函数需要从浏览器访问

编辑路由

打开urls(和setting同级目录),

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

from hello.views import hello_world

urlpatterns = [
    path('admin/', admin.site.urls),        # 参数1浏览器匹配字符串,参数2调用模块函数
    path('hello/', hello_world),
]

多级路由

url地址分成不同级别,优点地址目录结构清晰,便于维护 。高内聚低耦合,修改某模块其它模块不会受到影响。

from django.contrib import admin
from django.urls import path, include
from hello.views import hello_world, hello_china  # 引入模块函数

urlpatterns = [
    path('admin/', admin.site.urls),        # 参数1浏览器匹配字符串,参数2调用模块函数
    path('hello/', include("hello.urls")),  # 进入二级导航    hello是模块名
]

进入模块,新建一个urls.py 文件,写法和主项目中相同

在pycharm中一眼就能看出他的访问目录会多出一级 

解析网址中的参数

在配置路由的时候可以有如下写法

path('article/<int:month>', article_list, name='article_list'),

 <int:month>就代表了一个int类型的变量,叫month

它对应的视图也应该接收这个变量

def article_list(request, month):
    return HttpResponse(f"article{month}")

 接收get请求中的参数

若发起请求时url中带有参数:url?name=qwe可以有如下方式接收

def search(request):
    name = request.GET.get("name", "")
    print(name)
    return HttpResponse("search success")

应用模版文件

可以将一个页面写为模版,如个人信息页,只要将模版和个人信息组合就可以组成一个完整页面了

from django.shortcuts import render
def render_str(request):
    return render(request,"index.html")

这里的index.html是模版文件,render函数的作用就是将模版和数据组合,这个实例中还没有数据

未完,后续移步下篇文章

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部