知识点

  1) 创建项目命令

    以及项目结构介绍

  2) 创建应用程序命令

    应用, 项目的区别

    以及应用程序结构

  3) 启动项目命令

  4) URLs的编写

    include()的使用

    get发送参数的格式

    url()的参数介绍

  5) 最基本的视图函数的编写

1 创建项目

  查看Django的版本

python -m django --version

  创建项目命令为

django-admin startproject mysite

  注意:

    项目名不能和一些关键字重复, 如django或者test等

    这个Python代码不要放在web服务器的文档根目录下, 因为这样容易被通过web查看到, 不够安全

  创建之后的文件目录

mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py

  对应的作用为

外部mysite/根目录: 只是一个项目的容器。它的名字与Django无关; 您可以将其重命名为任何您喜欢的内容
  manage.py: 一个命令行实用程序,可以让您以各种方式与此Django项目进行交互
  内部mysite/目录: 实际Python包。它的名字是您需要用于导入其中的任何内容的Python包名称(例如mysite.urls)
  mysite/__init__.py: 一个空的文件,告诉Python这个目录应该被认为是一个Python包。
  mysite/settings.py: 此Django项目的设置/配置。 Django设置会告诉你所有关于设置的工作原理。
  mysite/urls.py: 该Django项目的URL声明; 您的Django动力网站的“目录”。
  mysite/wsgi.py: WSGI兼容的Web服务器为您的项目提供服务的入口点。

2 运行服务器

python manage.py runserver

  这是启动会绑定到

http://127.0.0.1:8000

  指定端口

python manage.py runserver 8080

  指定IP

python manage.py runserver 0:8000

  其中0就是0.0.0.0的缩写, 表示监听所有公共的IP

  注意:

    一般的, 修改项目中的代码服务器会自动重启使得这个更改的代码生效(重启完毕能看到提示)

    但是有的动作(例如: 添加文件)不会自动触发重新启动服务器, 这要注意

3 创建Polls app

  项目(project): 特定网站的配置和应用程序的集合

  应用程序(apps):  An app is a Web application that does something

  项目可以包含多个应用程序, 一个应用程序可以在多个项目中

  可以通过命令来生成一个应用程序

  一般地: 创建的应用程序可以放在任何位置, 但是由于放在顶级文件夹(外部mysite/根目录下)的时候更加方便导入, 一般不随意放置

  创建应用程序命令

python manage.py startapp polls

  得到的目录为

polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py

4 编写视图

  polls/views.py

from django.http import HttpResponse

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

  要是视图生效, 需要编写URLconf

  因此在polls/ 下创建一个urls.py文件, 由此, 现有的结构为

polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py

  polls/urls.py

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

  然后需要修改 根URLconf(mysite/urls.py) 让它执行 当前编写的 polls/urls.py

  mysite/urls.py

from django.conf.urls import include, url
from django.contrib import admin urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),
]

  include()函数可以引用其他的URLconfs

  注意:

    the regular expressions for the include() function doesn’t have a $ (end-of-string match character) but rather a trailing slash

  include()函数使得URLs的即插即用变得可行

  官方强力推荐使用include()的方式来编写URLs, 当然自带的admin.site.urls是唯一的例外

5 url()的参数

  url()可以接受4个参数

def url(regex, view, kwargs=None, name=None):
pass

  其中regex和view是必选参数, kwargs和name是可选参数

  1) url() argument: regex

  该参数是用于匹配URLs的, Django会从上到下依次匹配这些正则表达式

  当然, 匹配的时候会忽略域名GET和POST的参数

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

  get发送参数的格式为:

  URL?参数名=参数值&参数名2=参数2值...

  注意:

    这些正则表达式会在第一次加载URLconf的时候编译, 一般来说速度都很快

    但是这个正则匹配不要写的太过于复杂, 这样会影响性能

  2) url() argument: view

  当url满足正则表达式的时候, 就会调用对应的view函数

  会传入两种参数

    HttpResquest对象  

    正则表达式捕获的值

  正则表达式捕获的值分为两种

    简单捕获, 作为位置参数传递

     命名捕获, 作为关键字参数传递

  3) url()参数:kwargs

  传递关键字参数传递给视图函数, 形式是字典

  4) url() argument: name

  命名该URL

  通过这个名字, 可以在视图函数, 模板文件中获取该URL

04 - Django应用第一步的更多相关文章

  1. Django入门第一步:构建一个简单的Django项目

    Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...

  2. Django第一步

    对于一个web框架,掌握了三部分的内容,就可以说是迈出了第一步. 1. 准备开发环境 2. 创建一个工程,并运行 3. 开发hello world应用 1. 准备环境 首先应该是安装python和dj ...

  3. 第一步 django的下载安装

    django是python众多web框架中比较有名的一个,以大包大揽功能俱全而著名.但作为重量级的web框架,难免性能上回有所损失,不过由于其封装了各种API,在开发的时候会便利许多.所以也是深受欢迎 ...

  4. Openstack(企业私有云)万里长征第一步——安装

    一.前言 单位新进了十几台服务器,建了一个高标准的一体化机房,状似刘姥姥进大观园的我,从机房规划到企业私有云搭建一一重头学来,除了机房泥墙其他基本都涉猎到了. 从企业私有云这个名字就能看出这是多么复杂 ...

  5. 【3】Django创建第一个项目

    天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是 ...

  6. django创建第一个子文件夹

    1.首先安装python, 我安装了Python2.7的版本,安装在了D:\Python25\2.接着安装django,我下载了django 1.6的版本.3. 安装完了之后,打开cmd,然后可以检验 ...

  7. 零元学Expression Blend 4 - Chapter 3 熟悉操作第一步(制作一个猴子脸)

    原文:零元学Expression Blend 4 - Chapter 3 熟悉操作第一步(制作一个猴子脸) 本篇内容会教你如何使用笔刷.钢笔.渐层以及透明度的调整,还有如何转化图层和路径,最重要的是要 ...

  8. NLPer入门指南 | 完美第一步

    介绍 你对互联网上的大量文本数据着迷吗?你是否正在寻找处理这些文本数据的方法,但不确定从哪里开始?毕竟,机器识别的是数字,而不是我们语言中的字母.在机器学习中,这可能是一个棘手的问题. 那么,我们如何 ...

  9. 开发thinkphp的第一步就是给Application目录(不包括其下的文件)777权限, 关闭selinux

    开发thinkphp的时候, 总是会出现各种个样 的奇怪的毛病, 比如: 说什么Application目录不可写, 比如: 说什么 _STORAGE_WRITE_ERROR, 不能生成 Runtime ...

随机推荐

  1. [转]python 书籍推荐

    原地址: http://python.jobbole.com/85620/ https://github.com/jobbole/awesome-python-books http://blog.cs ...

  2. 【入门】创建express项目

    1.创建项目(图解) 2.访问http://localhost:3000/就看到熟悉的页面了 3.查看项目目录     参考文档:http://jingyan.baidu.com/article/92 ...

  3. 将navigationbar的translucent属性设为No后,子控制器视图整体下移问题

    如果不将navigationbar.translucent = YES 会觉得颜色很浅,因为这是半透明状态 若navigationbar.translucent = NO,颜色问题解决,但是子控制器视 ...

  4. u-boot下载模式LCD显示图片修改方法(基于TQ2440)

    1.明确液晶型号,这点非常重要,我手头的液晶是天嵌4.3寸屏,让人很郁闷的是液晶背面竟然写着LCD 3.5,这一点让我在上面浪费了好几个小时: 2.根据液晶型号,修改u-boot1.1.6--> ...

  5. Numerical Differentiation 数值微分

    zh.wikipedia.org/wiki/數值微分 数值微分是数值方法中的名词,是用函数的值及其他已知资讯来估计一函数导数的算法. http://mathworld.wolfram.com/Nume ...

  6. 洛谷 4035 [JSOI2008]球形空间产生器

    题目戳这里 一句话题意 给你 n+1 个 n 维点,需要你求出这个n维球的球心.(n<=10) Solution 这个题目N维的话确实不好想,反正三维就已经把我搞懵了,所以只好拿二维类比. 首先 ...

  7. wecenter 问答社区 dockerfile,不用纠结于物理机的运行环境

    FROM webdevops/php-nginx:centos-7-php56 ADD . /app RUN ["chmod", "777", "/a ...

  8. VOFM 例程

    SAP ERP 实施中,经常会用到例程开发(TCODE:VOFM).这个开发目前我用到的是影响SD和MM的定价过程.创建例程需要ACCESS KEY,这个可以通过申请得到,创建后例程会被包含在一个RE ...

  9. 坑爹的Hibernate 映射文件错误提示org.xml.sax.SAXParseException

    今天整整一个上午都在和hibernate做斗争,早上一来,继续昨天的项目开发,发现spring项目不能启动,从错误中看是hibernate错误,多半是hibernate配置有错误,关键是错误提示中显示 ...

  10. eclipse js调试

    问题: js经常会被浏览器给cache,不管怎么刷都是原来的. 解决: 暂时有一个方法,一刷新就好,下面的截图: 1)先打开 <开发者工具> 2)找到Sources 3)Page中找到你的 ...