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等的更多相关文章

  1. Django创建项目及app

    主要环境为python3.5,编译环境为pycharm 首先已经安装好Django相关的组件 1.首先创建Django程序: windows系统下pycharm创建步骤: File->New P ...

  2. django1.9 创建项目和app并初始化项目

    创建项目: django-admin startproject  mytest04 创建app: python manage.py startapp app04 配置:settings.py 1. 2 ...

  3. thinkphp3.2笔记(5)创建项目 创建模型 实例化

    一 创建项目 1 拷贝框架 目录   public   thinkphp  .htaccess  index.php    [application不用拷贝,会自动生成] 2   public 下面创 ...

  4. django rest framework 项目创建

    Django Rest Framework 是一个强大且灵活的工具包,用以构建Web API 为什么要使用Rest Framework Django REST Framework可以在Django的基 ...

  5. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  6. VUE创建项目

    Vue Cli项目搭建     vue项目需要自建服务器:node 什么是node: 用C++语言编写,用来运行JavaScript语言 node可以为前端项目提供server (包含了socket) ...

  7. djiango 虚拟环境与项目创建

    建立虚拟环境 一,查看有那些虚拟环境 :workon 二,创建虚拟环境:mkvirtualenv -p/usr/bin/python3 django(p后面是路径) 三,进入虚拟环境:workon d ...

  8. Vue学习笔记-nodejs+vue-cli4+webpack按装配置+项目创建

    一  使用环境: windows 7 64位操作系统 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nodejs的官网下载  https: ...

  9. vue(16)vue-cli创建项目以及项目结构解析

    vue-cli创建项目 上一篇我们安装了vue-cli,接下来我们就使用该脚手架进行创建项目 1.进入一个目录,创建项目 创建项目命令如下: vue create <Project Name&g ...

随机推荐

  1. bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛【dp】

    设f[i]为i为牡牛的方案数,f[0]=1,s为f的前缀和,f[i]=s[max(i-k-1,0)] #include<iostream> #include<cstdio> u ...

  2. 洛谷 P3732 [HAOI2017]供给侧改革【trie树】

    参考:http://blog.csdn.net/di4covery/article/details/73065684 我以为是后缀数组+某某数据结构,结果居然是01trie!!题解说"因为是 ...

  3. spoj 1693 COCONUTS - Coconuts【最小割】

    s向所有信仰1的人连(s,i,1),所有信仰0的人连(i,t,1),对于朋友关系,连接双向边,流量为1.跑最大流的结果即为答案. 考虑这样做的意义.最小割就是把总点集分割为两个点集S,T,使得所有\( ...

  4. Taro 小程序 自定义导航栏

    在小程序中,有的页面需求可能需要我们做一个自定义的导航栏, 今天就来踩一踩坑 首先需要在app.js 中给全局的导航栏隐藏, // app.js window: { navigationStyle: ...

  5. Flutter开发移动端APP的入门教程及简单介绍

    Dart&Flutter环境搭建 安装 dart SDK 如果只开发移动应用,那么您不需要Dart SDK; 只需安装Flutter. 这里就直接安装 Flutter (dart SDK已经集 ...

  6. 扩展KMP的应用

    扩展KMP的应用: 给出模板串S和串T,长度分别为Slen和Tlen,要求在线性时间内,对于每个S[i](0<=i<Slen),求出S[i..Slen-1]与T的 最长公共前缀长度,记为e ...

  7. 使用dubbox开发REST应用

    新建项目,添加Maven支持. 在pom.xml中添加依赖. <dependency> <groupId>org.jboss.resteasy</groupId> ...

  8. Matlab实现Butterworth滤波器 分类: 图像处理 2014-06-02 00:05 527人阅读 评论(0) 收藏

    下面是用Matlab实现的Butterworth高通.低通滤波器. clc;clear all;close all; I=imread('cameraman.tif'); subplot(3,2,1) ...

  9. SP CAML工具

    直接一直使用CAML做一些简单的SP列表查询,突然想对CAML进一步了解,于是找到两个常用工具,做以记录: 1 Caml Query Builder : 用于编写CAML查询,对初学者可以了解查询语句 ...

  10. 安装JPype时出现的 Unable to find vcvarsall.bat

    解决方案,在网上找到的,mark一下,亲测有效 C:/Python31/Lib/distutils目录下的msvc9compiler.py中 修改MSVCCompiler函数:vc_env = que ...