欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

编写你的第一个Django,第一部分

程序员文章站 2022-04-04 15:30:33
查看版本: 创建第一个项目 从cmd命令行cd到想要存储代码的目录,: 注意:项目名避免使用django或test(与python冲突)的名称。 startproject创建的内容: 说明: 最外面的mysite根目录只是你项目的容器。它的名字与django无关,可以随意你喜欢的名字 manage. ......

查看版本:

python -m django --version

创建第一个项目

从cmd命令行cd到想要存储代码的目录,:

D:\学习历程\django学习>django-admin startproject mysite

注意:项目名避免使用django或test(与python冲突)的名称。

startproject创建的内容:

编写你的第一个Django,第一部分

说明:

  • 最外面的mysite根目录只是你项目的容器。它的名字与django无关,可以随意你喜欢的名字
  • manage.py:一个命令行实用程序。可以以各种方式与项目进行交互
  • 里面的mysite是你的项目的实际python包。它的名字是你需要用来导入任何内容的Python包名(例如mysite.urls
  • __init__py:一个空文件,告诉python这个目录应该被视为一个python包
  • settings.py:项目的设置和配置。
  • urls.py:URL声明。django支持的网站目录。
  • wsgi.py:WSGI兼容的Web服务器为您的项目提供服务的入口点

开发服务器

cd 到项目目录mysite下:

cd mysite
python manage.py runserver

 

编写你的第一个Django,第一部分

你将看到上图输出。

 此时此刻,服务器正在运行,请使用web浏览器访问http://127.0.0.1:8000/。

 编写你的第一个Django,第一部分

说明:

默认情况下,runserver命令在内部的IP端口8000上启动开发服务器。可以更改:python manage.py runserver 8080

如果你想更改服务器的IP,传递的时候和端口一起传递。python manage.py runserver 0:8000。是最快捷的方式。

开发服务器会根据每个请求重新加载python代码,无需重新启动。添加文件不会自动出发重新启动,所以要手动重新启动。

创建投票应用程序

项目与应用程序有什么区别?

应用程序是一种web应用程序,它可以执行某些操作,例如web blog系统,公共记录数据库或简单的轮询应用程序。

项目是特定网站的配置和应用程序的集合。项目可以包含多个应用程序。一个程序可以在多个项目中。

D:\学习历程\django学习\mysite>python manage.py startapp polls

目录结构:四个箭头代表四个文件处于相同路径下

编写你的第一个Django,第一部分

编写你的第一个视图

打开文件polls/views.py编写代码

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse("Hello,world. You're at the polls index")

这个是Django中最简单的视图。要调用视图,需要将它映射到一个url中。我们需要在polls目录下创建urlconf,名为urls.py。

在urls.py文件中,编写代码:

from django.conf.urls import url
from . import views

urlpatterns=[
    url(r'^$',views.index,name='index'),
]

下一步是将url指向polls.urls模块。在mysite/urls.py修改代码:

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^polls/',include('polls.urls')),
]

说明:include()函数允许引用其他urlconf。

现在已经将index视图连接到urlconf。验证它的工作:

python manage.py runserver

你可以看到:

编写你的第一个Django,第一部分

URL()参数:regex

将请求的URL与每个正则表达式进行毕竟,直到找到匹配的正则。

正则不搜索GET和POST参数或域名。

例如:

  https://www.examlpe.com/myapp/。

  https://www.example.com/myapp/?page=3

都是查找myapp/

URL()参数:view

当django发现正则表达式匹配时,调用指定的视图函数,将httpRequests对象作为第一个参数。

如果正则表达式使用简单的捕获,则将值作为位置参数传递; 如果它使用命名捕获,则将值作为关键字参数传递。