Django学习笔记(1)-创建第一个项目

 1、安装python、Django

检查是否安装成功:

C:\Users\luoshixiang>python
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.get_version()
'3.0.7'

2、Django 创建第一个项目

Django 管理工具 :django-admin.py

C:\Users\luoshixiang\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\bin\django-admin.py

1)创建第一个项目:

django-admin.py startproject HelloWorld

PS E:\py_workspace_04\lianxi> cd C:\Users\luoshixiang\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\bin

PS C:\Users\luoshixiang\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\bin> ls

    目录: C:\Users\luoshixiang\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\bin

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2020/6/8     15:06                __pycache__
-a----         2020/6/8     15:05            128 django-admin.py

C:\Users\luoshixiang\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\bin>E:

E:\>cd lianxi

E:\lianxi>python C:\Users\luoshixiang\AppData\Local\Programs\Python\Python37\Lib\site-packages\django\bin\django-admin.py startproject HelloWorld

E:\lianxi>tree
卷 工作 的文件夹 PATH 列表
卷序列号为 BAAF-17E2
E:.
└─HelloWorld
    └─HelloWorld

目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

 2)启动服务器:python  manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

在浏览器输入你服务器的 ip(这里我们输入本机 IP 地址: 127.0.0.1:8000) 及端口号,

E:\lianxi>python ./HelloWorld/manage.py runserver 127.0.0.1:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
June 08, 2020 - 16:05:09
Django version 3.0.7, using settings 'HelloWorld.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[08/Jun/2020 16:05:34] "GET / HTTP/1.1" 200 16351
[08/Jun/2020 16:05:34] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[08/Jun/2020 16:05:34] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[08/Jun/2020 16:05:34] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
[08/Jun/2020 16:05:34] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
Not Found: /favicon.ico
[08/Jun/2020 16:05:35] "GET /favicon.ico HTTP/1.1" 404 1976

如果正常启动,输出结果如下:

Django学习笔记(1)-创建第一个项目_第1张图片

3) 视图和 URL 配置

在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 views.py 文件,并输入代码:

from django.http import HttpResponse
 
def hello(request):
    return HttpResponse("Hello world ! ")

接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:

from django.conf.urls import url
 
from . import views
 
urlpatterns = [
    url(r'^$', views.hello),
]

Django学习笔记(1)-创建第一个项目_第2张图片

完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问:

Django学习笔记(1)-创建第一个项目_第3张图片 

我们也可以修改以下规则:

 HelloWorld/HelloWorld/urls.py 文件代码:

from django.urls import path
 
from . import views
 
urlpatterns = [
    path('hello/', views.hello),
]

通过浏览器打开 http://127.0.0.1:8000/hello,输出结果如下:

注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。

 

path() 函数

Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。

语法格式:

path(route, view, kwargs=None, name=None)
  • route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。

  • view: 用于执行与正则表达式匹配的 URL 请求。

  • kwargs: 视图使用的字典类型的参数。

  • name: 用来反向获取 URL。

Django2. 0中可以使用 re_path() 方法来兼容 1.x 版本中的 url() 方法,一些正则表达式的规则也可以通过 re_path() 来实现 。

from django.urls import include, re_path

urlpatterns = [
    re_path(r'^index/$', views.index, name='index'),
    re_path(r'^bio/(?P\w+)/$', views.bio, name='bio'),
    re_path(r'^weblog/', include('blog.urls')),
    ...
]

你可能感兴趣的:(Python)