编写你的第一个Django,第一部分
Posted xjmlove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写你的第一个Django,第一部分相关的知识,希望对你有一定的参考价值。
查看版本:
python -m django --version
创建第一个项目
从cmd命令行cd到想要存储代码的目录,:
D:\\学习历程\\django学习>django-admin startproject mysite
注意:项目名避免使用django或test(与python冲突)的名称。
startproject创建的内容:
说明:
- 最外面的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
你将看到上图输出。
此时此刻,服务器正在运行,请使用web浏览器访问http://127.0.0.1:8000/。
说明:
默认情况下,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
目录结构:四个箭头代表四个文件处于相同路径下
编写你的第一个视图
打开文件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
你可以看到:
URL()参数:regex
将请求的URL与每个正则表达式进行毕竟,直到找到匹配的正则。
正则不搜索GET和POST参数或域名。
例如:
https://www.examlpe.com/myapp/。
https://www.example.com/myapp/?page=3
都是查找myapp/
URL()参数:view
当django发现正则表达式匹配时,调用指定的视图函数,将httpRequests对象作为第一个参数。
如果正则表达式使用简单的捕获,则将值作为位置参数传递; 如果它使用命名捕获,则将值作为关键字参数传递。
以上是关于编写你的第一个Django,第一部分的主要内容,如果未能解决你的问题,请参考以下文章
Django L1 编写你的第一个Django应用,第1部分