frist Django app — 一、 创建工程(转载)
转载地址:https://www.cnblogs.com/sunshine-2015/p/5658283.html
缘起
既然python都学了,学习python的时候感觉是相见恨晚,一种新的编程语言带给我一种新的思考问题的方式,为了巩固学过的东西并进一步学习python,就想学学Django,看看会不会带给我关于web新的东西。把自己学习过程记录在这里,发现每次写博客都是对学习过的东西的一次整理和提升。
新建一个project
startproject
python和Django的安装不再详述,我的环境python2.7,Django1.9.7 。
django-admin startproject mysite
上面这句话创建了一个project名称位mysite,这个名称是可以修改的,目录结构如下:
.
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
对于上面几个文件的介绍:
manage.py:与Django进行交互的命令行工具,比如后面根据model生成数据库表结构、供开发使用的server等都是使用该工具,在manage.py的同级目录使用python manage.py 可以看到可以使用的命令列表。
mysite:这个才是工程的包名。
__init__.py:表明mysite是一个包。
setting.py:Django的配置文件,包括工程的app配置、数据库配置、语言配置等。
urls.py:Django的dispatcher,根据不同的url映射到不同的视图。
wsgi.py:WSGI是web server gateway interface,这个文件是使project符合这种协议的入口点(entry-point)
runserver
python manage.py runserver
在manage.py的同级目录下运行这个命令就可以看到以下内容:
Performing system checks... System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them. July 10, 2016 - 09:20:57
Django version 1.9.7, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
说明我们成功创建了一个project,在浏览器中输入 http://127.0.0.1:8000/,看到以下画面表示成功

Django自带了一个开发服务器,便于开发使用(Django官方强调不能用作生产环境),默认端口号是8000,如果想运行在别的端口号,以下面的方式运行即可,比如:8080
python manage.py runserver 8080
# 如果想在局域网内其他电脑上访问你的站点
python manage.py runserver 0.0.0.0:8080
新建一个app
一个project可以又多个app,一个app可以同时属于多个project。通过以下命令创建一个app(在project目录下)
django-admin startapp polls
创建app后的目录结构,因为Django会自动创建一系列文件,我们需要明白每个为文件的作用

.
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── polls
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py

polls:app的根目录
admin.py:Django自带了一个管理界面,这个文件可以注册model在界面中管理
__init__.py:表明polls也是一个包
migrations:用来初始化数据库,在执行python manage.py makemigrations 的时候会自动生成一个文件在这里
__init__.py:表明migrations也是一个包
models.py:在这个文件里面定义model类
tests.py:写测试代码
views.py:视图,Django映射urls.py里面的url的时候,在views.py里面查找对应的处理方法
添加view
编辑views.py文件

from django.shortcuts import render
from django.http import HttpResponse # Create your views here.
def index(request):
return HttpResponse("hello world")

添加映射
在polls目录下新建urls.py文件

from django.conf.urls import url
from . import views urlpatterns = {
url(r'^$', views.index, name = 'index'),
}

将polls的urls.py告诉django,添加到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')),
]

将我们polls包下面的urls.py include进去。大家注意到了polls/urls.py相当于是mysite/urls.py下面的一个子文件,两者 的写法相似,url的第一个参数是一个正则表达式,第二个参数就是映射到的视图或者包含的类,注意到原来有一个url(r'^admin/', admin.site.urls),这是Django管理界面的配置,还有就是我们写的正则表达式是以polls/开始的url,也就是所有以该前缀开始的url都会被分发到polls/urls里面进一步寻找对应的视图。
接下运行server,访问http://127.0.0.1:8000/polls/就可以看到以下内容——也就是我们在views.py里面写的内容
hello world
总结
其实主要就是通过django提供的一些命令我们基本上就完成了一个简单的hello world,说到了Django的目录结构,简单涉及了一些view和url的写法。
代码位置
http://pan.baidu.com/s/1hs7ApwS
frist Django app — 一、 创建工程(转载)的更多相关文章
- frist Django app — 一、 创建工程
缘起 既然python都学了,学习python的时候感觉是相见恨晚,一种新的编程语言带给我一种新的思考问题的方式,为了巩固学过的东西并进一步学习python,就想学学Django,看看会不会带给我关于 ...
- Django安装及创建工程
Django MTV模型介绍 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻 ...
- Django 使用Pycharm 创建工程
一.Pycharm 创建Django 工程 事实上,我们一般不使用命令行,而是直接在Pycharm 中创建Django 项目. Pycharm 是进行Django 开发的最佳 IDE,请大家自行安装, ...
- frist Django app — 三、 View
前面已经说过了Django中model的一些用法,包括orm,以及操作的api,接下来就是搭一些简单的界面学习view——Django中的view.主要介绍以下两个方面: url映射 请求处理 模板文 ...
- frist Django app — 五、Test
Test——很重要但是没有被重视起来的一个环节,至少是我自己,其实自己之前在做java web的时候就去尝试过怎么做REST接口的测试,一直没有找到一种合适方式,而且因为时间紧没有进一步深究,但是造成 ...
- frist Django app— 二、 Model和管理界面
Django是符合MVC架构的,这里现学习M—Model,而且Django自带了一个管理model(数据库)的界面,所以一并学习. Database 配置 编辑Django的配置文件settings. ...
- Django 使用VScode 创建工程
一.VSCode 创建Django 工程 VSCode 官方: https://code.visualstudio.com 1 mysite(项目名),创建Django 项目,可以和虚拟环境放在同一目 ...
- frist Django app — 四、 完善View
上一篇已经完成了polls的基本功能,接下来完善剩下的vote功能和并使用generic views改进请求处理view.包含表单的简单运用和前后台参数传递. 目录 vote:完善投票功能 gener ...
- Django 使用cmd 创建工程
一.Django 安装 1 通过pip安装 Django 如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本. Django 提供3种发行版本,推荐使用官方的稳定版本: 你的操作系统提供 ...
随机推荐
- 2017-2018-1 20155233 《信息安全系统设计基础》实现mypwd
2017-2018-1 20155233 <信息安全系统设计基础>实现mypwd linux命令pwd介绍 pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根 ...
- BZOJ4543 Hotel加强版
题面 $\text{BZOJ}$间接权限题 洛谷的弱化版 题解 三点距离两两相等要满足以下条件: 有一个相同的$\text{LCA}$ 所以如果存在一个点,使得另外两个点在它子树中,距离为$d$,且$ ...
- C语言编译过程以及gcc编译参数
1.1 C语言编译过程,gcc参数简介 1.1.1 C语言编译过程 一.gcc - o a a.c -o:指定文件输出名字 二.C语言编译的过程: 1.1.1 ...
- idea maven javaweb项目迁移时的maven和版本报错问题解决(可解决同类错误)
项目中代码红线报版本不支持xx语法,只需要将java版本设置为当前机器使用的java版本即可 这里我使用的是idea自带的maven,如果是自己安装的maven需要在 home directory 处 ...
- pathon之多线程详解
一.线程理论 1.什么是线程 线程指的是一条流水线的工作过程 进程根本就不是一个执行单位,进程其实是一个资源单位--------将资源集合到一起: 一个进程内自带一个线程,线程才是CPU上的执行单位 ...
- [webpack]-webpack超级详细搭建实用前端环境
前言: webpack 超级实用前端环境搭建 一.我们日常使用的前端开发环境应该是怎样的? 构建我们需要发布的html,css ,js 文件 使用css 预处理器来编写样式 处理压缩图片 使用Babl ...
- String与Date的互相转换
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 也可以: SimpleDateFormat sd ...
- pygrib学习
pygrib-2.0.3/docs/index.html 导入pygrib模块 >>> import pygrib 打开grib文件,获取grib消息迭代器 >>> ...
- fortran shapefile学习
试图编写一个fortran程序,用以判断给定的点是否落在给定shapefile的范围内. 需要利用到FortranGIS库 ,而该库又依赖于Shapefile C Library 安装shapelib ...
- mac zsh不自动加载~/.bashrc
修改了bashrc, 新开一个终端都要source一下才起作用. 网上有说需要在 . bash_profile加载一次.bashrc. 但是这个和我的问题不一样. 我用的是zsh,需要修改~/.zsh ...