django-1创建项目创建app设置setting、urls、templates、views等
1. python -m django --version
查看版本 1.11.4
在需要创建项目的目录下执行:
2. django-admin startproject myblog => 创建名为myblog的项目
在项目的manage.py 同级目录下运行
3. python manage.py runserver 9999 =>以端口号9999打开server,通过浏览器127.0.0.1:9999访问(默认8000端口)
项目myblog目录分析:
myblog------wsgi.py => python服务器网关接口,与web服务器通信的关键,平时不会改动
-----urls.py 每个页面的配置,或每个应用的根路径配置
-----setting.py 非常重要,核心部分,很多内容要在其中改动
-----__init__.py 有这个文件,myblog可以作为引用的模块

setting.py文件结构分析
BASE_DIR 项目根目录
SECRET_KEY 创建项目时自动生成的 可无视
DEBUG 不要在生产环境打开
ALLOWED_HOSTS 如果将debug 改为false,将allow_hosts改为localhost,那么通过ip访问就报错
INSTALLED_APPS 在该项目下创建的任何应用,都要把名字加入这个列表中 比如4. 创建的blog 需要将名字加入
ROOT_URLCONF ='myblog.urls' 貌似自动生成的吧
TEMPLATES 模板配置 htmlm文件,
使用了django模板语言 Django Template Language DTL
叫模板引擎
在第一行:'BACKEND': 'django.template.backends.django.DjangoTemplates'
也可以使用第三方引擎 Jinja2
WSGI_APPLICATION 无视 与网关配置相关的
DATABASES 默认使用DB为db.sqlite3
STATIC_URL 静态文件 html css等
在项目的manage.py 同级目录下运行
4. python manage.py startapp blog => 创建一个名为blog的应用
项目myblog下的应用:blog结构分析:
blog ------migrations => 数据迁徙 django自动生成
------admin => 当前应用的后台管理系统配置
------ apps => 当前应用的配置
------ models => 数据表
------ tests => 自动化测试模块
------ views =>执行响应的逻辑代码,项目中大部分代码在此
每个函数接收一个响应参数,再返回一个响应参数
每个函数对应一个url
去 myblog的urls.py 中添加函数同名对应的url,
然后 python manage.py runserver 就可以在浏览器中访问刚才配置的url,可以看到view的函数返回内容了
5. 在setting.py 文件中加入到 install_apps列表中
6. 在app:blog的根目录下创建文件夹:templates
7. 在myblog/blog/templates下创建html文件:index.html
8. 在app:blog 的 view.py 中 添加函数index2, return render(request, 'index.html', 后台数据)
其中,render:渲染页面
request, 接收的响应参数
index.html 为html文件字符串
后台数据:支持dict类型参数,key在前端(html中,用双大括号{{}},不显示在终端页面),value是后台内容,最终显示在终端页面的
8.1 在项目myblog 的 urls.py 中,引入了include,可以引用app blog 和 blog2 的urls,
url(r'^blog/', include('blog.urls')),
url(r'^blog2/', include('blog2.urls')),
8.2 app blog 和 blog2 的urls.py 里面的函数路径可以为空,用正则匹配, 注意最后的斜杠写法,为空写成^$
url(r'^index/$', views.index),
url(r'^myblog/$', views.myblog),
9 添加新的应用app:blog2 其下也有index.html ,setting中添加好应用名字,urls中配置好路径,
发现 只能顺序找到第一个blog的templates/index.html,
即 : 不同app的templates 目录下同名html文件会造成冲突
解决办法: 在templates文件夹下,创建应用名字相同的文件夹
并在应用app 的 views.py文件的相关函数,第二个参数html文件字符串前加上app名字目录
def index(request):
return render(request,'blog/index.html',{'hello':'开花花django-1创建项目创建app设置setting、urls、templates、views等的更多相关文章
- Django创建项目及app
主要环境为python3.5,编译环境为pycharm 首先已经安装好Django相关的组件 1.首先创建Django程序: windows系统下pycharm创建步骤: File->New P ...
- django1.9 创建项目和app并初始化项目
创建项目: django-admin startproject mytest04 创建app: python manage.py startapp app04 配置:settings.py 1. 2 ...
- thinkphp3.2笔记(5)创建项目 创建模型 实例化
一 创建项目 1 拷贝框架 目录 public thinkphp .htaccess index.php [application不用拷贝,会自动生成] 2 public 下面创 ...
- django rest framework 项目创建
Django Rest Framework 是一个强大且灵活的工具包,用以构建Web API 为什么要使用Rest Framework Django REST Framework可以在Django的基 ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- VUE创建项目
Vue Cli项目搭建 vue项目需要自建服务器:node 什么是node: 用C++语言编写,用来运行JavaScript语言 node可以为前端项目提供server (包含了socket) ...
- djiango 虚拟环境与项目创建
建立虚拟环境 一,查看有那些虚拟环境 :workon 二,创建虚拟环境:mkvirtualenv -p/usr/bin/python3 django(p后面是路径) 三,进入虚拟环境:workon d ...
- Vue学习笔记-nodejs+vue-cli4+webpack按装配置+项目创建
一 使用环境: windows 7 64位操作系统 二 Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nodejs的官网下载 https: ...
- vue(16)vue-cli创建项目以及项目结构解析
vue-cli创建项目 上一篇我们安装了vue-cli,接下来我们就使用该脚手架进行创建项目 1.进入一个目录,创建项目 创建项目命令如下: vue create <Project Name&g ...
随机推荐
- bzoj 4071: [Apio2015]巴邻旁之桥【splay】
用权值线段树会容易一些并快一些,但是想复健一下splay所以打了splay 然后果然不会打了. 解题思路: 首先把家和办公室在同一侧的提出来直接加进答案里: 对于k=1,直接选所有办公室和家的中位数即 ...
- P2093 [国家集训队]JZPFAR(KDTree)
传送门 类似于p4357 不过因为距离相等的时候要优先选择序号小的,所以要重载一下运算符 //minamoto #include<bits/stdc++.h> #define R regi ...
- [Swift通天遁地]一、超级工具-(4)使用UIWebView(网页视图)加载HTML和Gif动画
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- [Usaco2005 Feb]Feed Accounting 饲料计算
Description Farmer John is trying to figure out when his last shipment of feed arrived. Starting wit ...
- 背包DP HDOJ 5410 CRB and His Birthday
题目传送门 题意:有n个商店,有m金钱,一个商店买x件商品需要x*w[i]的金钱,得到a[i] * x + b[i]件商品(x > 0),问最多能买到多少件商品 01背包+完全背包:首先x == ...
- 题解报告:hdu 1124 Factorial(求N!尾数有多少个0。)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1124 Problem Description The most important part of a ...
- 首先定义一个5X8的二维数组,然后使用随机数填充满。借助Arrays的方法对二维数组进行排序。
package day02; import java.util.Arrays; import java.util.Random; public class Test01 { public static ...
- logging模块基础3
1.logging模块的日志级别 CRITICAL = 50 #FATAL = CRITICAL ERROR = 40 WARNING = 30 #WARN = WARNING INFO = 20 D ...
- Spark学习之基于MLlib的机器学习
Spark学习之基于MLlib的机器学习 1. 机器学习算法尝试根据训练数据(training data)使得表示算法行为的数学目标最大化,并以此来进行预测或作出决定. 2. MLlib完成文本分类任 ...
- esp8266 串口通讯
1.发送 调用uart_init(115200,115200);初始化串口,波特率设置为115200.前面一个是设置uart0的波特率.后面一个是设置.uart的波特率 然后就可以使用uart0_tx ...