安装
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文件,新建一个函数
python
from django.http import HttpResponse
def hello_world(request):
return HttpResponse("Hello World!")
这样一个视图就完成了 ,访问此函数需要从浏览器访问
编辑路由
打开urls(和setting同级目录),
python
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地址分成不同级别,优点地址目录结构清晰,便于维护 。高内聚低耦合,修改某模块其它模块不会受到影响。
python
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中一眼就能看出他的访问目录会多出一级
解析网址中的参数
在配置路由的时候可以有如下写法
python
path('article/<int:month>', article_list, name='article_list'),
<int:month>就代表了一个int类型的变量,叫month
它对应的视图也应该接收这个变量
python
def article_list(request, month):
return HttpResponse(f"article{month}")
接收get请求中的参数
若发起请求时url中带有参数:url?name=qwe可以有如下方式接收
python
def search(request):
name = request.GET.get("name", "")
print(name)
return HttpResponse("search success")
应用模版文件
可以将一个页面写为模版,如个人信息页,只要将模版和个人信息组合就可以组成一个完整页面了
python
from django.shortcuts import render
def render_str(request):
return render(request,"index.html")
这里的index.html是模版文件,render函数的作用就是将模版和数据组合,这个实例中还没有数据
未完,后续移步下篇文章