## 创建项目

1. 通过命令行的方式:首先要进入到安装了django的虚拟环境中。然后执行命令:
```
django-admin startproject [项目的名称]
```
这样就可以在当前目录下创建一个项目了。
2. 通过pycharm的方式:文件->新建项目->选择django。然后指定项目所在的路径,以及Python解释器,再点击Create就可以创建项目了。

## 运行项目
1. 终端:进入到项目文件夹中,然后执行以下命令即可运行:
```
python manage.py runserver
```
2. pycharm:直接点击右上角的绿色三角箭头按钮就可以了。**注意:用pycharm运行项目,要避免一个项目运行多次。**。在项目配置中,把“只用单一实例”那个选项勾选上,避免以上的问题。

## 改变端口号:
1. 在终端:运行的时候加上一个端口号就可以了。命令为:`python manage.py runserver 9000`。
2. 在pycharm中:右上角->项目配置->port。改成你想要的端口号,重新运行。

## 让同局域网中的其他电脑访问本机的项目:
1. 让项目运行到额时候,host为0.0.0.0。
* 在终端,使用命令:`python manage.py runserver 0.0.0.0:8000`。
* 在pycharm,右上角->项目配置->host。改成`0.0.0.0`。
2. 在`settings.py`文件中,配置`ALLOWED_HOSTS`,将本机的ip地址添加进去。示例代码如下:
```python
ALLOWED_HOSTS = ['192.168.0.103']
```
注意:要关闭自己电脑的防火墙才行。

## 项目结构分析
1. `manange.py`:以后和项目交互基本上都是基于这个文件。一般都是在终端输入python manage.py [子命令]。可以输入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文件。
2. `settings.py`:保存项目所有的配置信息。
3. `urls.py`:用来做url与视图函数映射的。以后来了一个请求,就会从这个文件中找到匹配的视图函数。
4. `wsig.py`:专门用来做部署的。不需要修改。

## django推荐的项目规范
按照功能或者模块进行分层,分成一个个app。所有和某个模块相关的视图都写在对应的app的views.py中,并且模型和其他的也是类似。然后django已经提供了一个比较方便创建app的命令叫做`python manage.py startapp [app的名称]`。把所有的代码写在各自的app中。

## DEBUG模式
1. 如果开启了DEBUG模式,那么以后我们修改了Django项目的代码,然后按下ctrl+s,那么Django就会自动的给我们重启项目,不需要手动重启。
2. 如果开启了DEBUG模式,那么以后Django项目中的代码出现bug了,那么在浏览器中和控制台会打印出错信息。
3. 在生产环境中,禁止开启DEBUG模式,不然有很大的安全隐患。
4. 如果将DEBUG设置为False,那么必须要设置ALLOWED_HOSTS.

## ALLOWED_HOSTS
这个变量是用来设置以后别人只能通过这个变量中的ip地址或者域名来进行访问。

Danjgo学习笔记(一)的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. 《深入浅出RxJS》读书笔记

    rxjs的引入 // 如果以这种方式导入rxjs,那么整个库都会导入,我们一般不可能在项目中运用到rxjs的所有功能 const Rx = require('rxjs'); 解决这个问题,可以使用深链 ...

  2. 什么是Task

    什么是Task Task是.Net4.0新增用来处理异步编程的,叫做基于“任务编程模型”,任务其实是架构在线程之上的,具体操作的时候还是由线程去执行的,任务的管控有点类似于线程池,程序中开10个Tas ...

  3. kuangbin专题专题四 Heavy Transportation POJ - 1797

    题目链接:https://vjudge.net/problem/POJ-1797 思路:请参考我列出的另一个题目,和这个题目要求的值相反,另一个清楚后,这个写的解释就明白了. 另一个类似题目的博客:h ...

  4. 基础篇-1.1走进Java世界

    在走进Java世界之前,我们势必先了解下Java是什么?Java是一门面向对象的编程语言,是静态面向对象编程语言的代表,极好得实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程.Java具有 ...

  5. React躬行记(9)——组件通信

    根据组件之间的嵌套关系(即层级关系)可分为4种通信方式:父子.兄弟.跨级和无级. 一.父子通信 在React中,数据是自顶向下单向流动的,而父组件通过props向子组件传递需要的信息是组件之间最常见的 ...

  6. Kafka producer拦截器(interceptor)

    Kafka producer拦截器(interceptor) 拦截器原理 Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制 ...

  7. [小米OJ] 9. 移除 K 位得到最小值

    思路: 重复k次: 1.找到并且删除第一个 num[i] > num[i+1] 的第i位数字. 2.若删除过程中,序列变成递增序列,则直接删除最后一位. 注意除去字符串头的0 def solut ...

  8. 用python输出回文数

    一个b站上的朋友问我,怎么返回五位数的回文数的个数. 我首先百度回文数的概念,就是正读和倒读都一样的数字,例如:10001,99899 等等 数字的位数拆分一头雾水,思来想去,用字符串的方法完美解决! ...

  9. Face++实习体验

    旷视Face++ 实习体验 已经在Face++呆了快20天了,自从实习,github和blog也碰的少了,我工作是做聚类(也是头一次接触机器学习,以前想都没敢想的),毕竟工作内容很多都是不熟悉的,需要 ...

  10. C#七种设计原则

    在C#中有七种设计原则 分别是 1.开闭原则(Open-Closed Principle, OCP) 2.单一职责原则(Single Responsibility Principle) 3.里氏替换原 ...