Django之项目搭建和配置总结(一)
安装和创建虚拟环境
安装Django包
- 先进入虚拟环境,在联网下执行:
pip install django==1.8.7
1.8.7表示django的版本,如果不指定,会默认安装最新版的django。
包会被安装到/usr/local/lib/python3.5/dist-packages下。
创建django项目
- 进入虚拟环境,先创建一个文件用来存放项目,比如在桌面Desktop创建一个myprojects文件。
- 进入myprojects文件,执行:
django-admin startproject 项目名称
例:
django-admin startproject mytest
会在文件下创建一个mytest的项目,其目录:

目录说明:
- manage.py:一个命令行工具,可以说Django项目就是从这个文件开始执行的。
- _init _.py:一个空文件,表示mytest应该被看做一个python包;
- settings.py:整个项目的配置参数文件;
- urls.py:项目的URL声明,一般项目的顶级url正则匹配放置在这里;
- wsgi.py:项目与WSGI兼容的Web服务器入口;
创建应用
项目创建完成后需要有具体的应用,一个项目下可以有多个应用。
进入命令行窗口:
python manage.py startapp 应用名称
例:
python manage.py startapp myapp
创建后生成目录:

文件:
- admin.py: 模型注册和后台管理相关的文件;
- _init_.py: 应用应该被看做一个Python包;
- migrations: 用来放置应用模型的迁移脚本文件;
- models.py: 定义模型;
- test.py: 放置项目的测试文件;
- viems.py: 定义视图;
添加应用
- 由于项目管理着所有的应用,每个应用都要添加到项目的应用列表中;
- 打开mytest/settings.py,INSTALLED_APPS下添加:

前面有许多的应用都是Django自带的,包括后台管理、会话等;
测试:验证添加是否成功。
- 在终端启动django自带的测试用服务器:
python manage.py runserver ip:port
例:
python manage.py runserver

说明:ip和port可以分别设置服务器的ip和端口;省略不写默认ip为127.0.0.1;端口:8000;
- 打开浏览器输入http://127.0.0.1:8000,得到网页:

注意:当项目文件发生修改时,服务器会自动重启,不需要手动。关闭服务器ctrl+C。
配置数据库
- Django默认数据库sqlite3,其配置参数在mytest/setting.py文件下:

- 可以修改配置,换成需要连接的数据库:
以mysql为例,改成如下代码:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mytest', # 数据库的名字
'USER': 'root', # 用户名
'PASSWORD': 'mysql', # 密码
'HOST': 'localhost', # 主机
'PORT': '3306', # 端口
}
}
注意:这些参数默认数据库已经创建好,如果还没有数据库,需要登录mysql去创建。
- 另外django连接mysql需要pymysql包的支持,所以先安装pymysql:
sudo pip install pymysql
- 安装完毕,需要导入到django中,打开应用mytest/_init_.py文件,加入代码:
import pymysql
pymysql.install_as_MySQLdb() # 与mysql交互的函数
注意:一定要记得导入pymysql,否则无法连接数据库。
配置模板
- 直接在项目mytest文件夹下,创建名为templates的文件夹;
- 在templates文件下创建与应用名字相同的文件夹myapp;
- 这个应用的所有模板将放置在myapp文件夹下;
- 将模板加入项目配置,在mytest/setting.py文件下:

至此:django项目开发配置基本完成。
额外说明:如果在pycharm集成环境下创建的django项目,设置了应用和模板后,pycharm会自动添加应用和模板,这两步无需再手动操作。
- 作者:天宇之游
- 出处:http://www.cnblogs.com/cwp-bg/
- 本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
Django之项目搭建和配置总结(一)的更多相关文章
- Django项目搭建和配置总结
安装和创建虚拟环境 参考:linux系统下Python虚拟环境的安装和使用 安装Django包 先进入虚拟环境,在联网下执行: pip install django==1.8.7 1.8.7表示dja ...
- vue3.0+vite+ts项目搭建--基础配置(二)
集成vue-router 使用yarn yarn add vue-router@next --save 安装完成之后在src目录下创建文件夹router/index.ts,创建完成之后需要在Vue-R ...
- Asp.Net Core 项目搭建 基础配置 和MySql 的使用
一.开发环境准备 1.安装Visual Studio 2015,我这里安装的是专业版. 2.安装.NET Core SDK相关 需要安装 Visual Studio 2015 update3和NET ...
- dubbo zk 分布式服务项目搭建与配置
1. 项目 jar -----提供接口 2. 项目 jar -----接口实现 provider启动zk main方法启动 start applicationContext.xml <b ...
- Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解
跟着网上的教程走发现行不通阿!好多都是写个大概,而且每人的环境都是有些许差异的,比如说权限问题阿,等等都会造成安装的失败 说明:本教程在你已经拥有Centos7系统,已经安装好nginx服务器,已经安 ...
- Django练习项目之搭建博客
背景:自从今年回家过年后,来到公司给我转了试用,我的学习效率感觉不如从前,而且刚步入社会我总是想要怎么想明白想清楚一些事,这通常会花掉,消耗我大量的精力,因为我想把我的生活管理规划好了,而在it技术学 ...
- Django 项目搭建(ubuntu系统)
1 环境搭建 sudo apt-get install python3-pip 安装pip3 sudo pip3 install virtualenv 安装虚拟环境,这里展示virtualenv vi ...
- django项目搭建及Session使用
django+session+中间件 一.使用命令行创建django项目 在指定路径下创建django项目 django-admin startproject djangocommon 在项目目录 ...
- python三大主流web框架之Django安装、项目搭建
这一篇我们将迎来python强大的web框架Django,相信大家都已经不陌生,本篇将介绍Django的安装及基础项目搭建,大神略过~ Django是需要我们手动pip安装的,首先我们来安装Djang ...
随机推荐
- 用c++读取文件夹中的所有文件名
//头文件,注意要加stdafx.h和io.h等 #include "stdafx.h" #include <io.h> #include <vector> ...
- Bootstrap 栅格系统初识
以下理论内容copy自bootstrap中文网(一个不错的bootstrap学习网站). 栅格系统 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport) ...
- 第52天:offset家族、scroll家族和client家族的区别
一.offset家族 1.offsetWidth offsetHeight offsetLeft offsetTop offsetParent共同组成了offset家族,用来获取元素尺寸. offse ...
- 【zoj2314】Reactor Cooling 有上下界可行流
题目描述 The terrorist group leaded by a well known international terrorist Ben Bladen is buliding a nuc ...
- 【bzoj1616】[Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs
题目描述 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John在某个时刻看见 ...
- Dom-直接 /间接选择器
Dom:Document Object Model的缩写, 把html转换成了文本对象. 1. 直接选择器 1.直接查找 document.getElementById 根据ID获取一个标签 docu ...
- Javascript 中 == 和 === 区别是什么?
Javascript 中 == 和 === 区别是什么? 作者:Belleve链接:https://www.zhihu.com/question/31442029/answer/77772323来源: ...
- [NOI2009]管道取珠 DP + 递推
---题面--- 思路: 主要难点在思路的转化, 不能看见要求$\sum{a[i]^2}$就想着求a[i], 我们可以对其进行某种意义上的拆分,即a[i]实际上可以代表什么? 假设我们现在有两种取出某 ...
- HDOJ.1257 最少拦截系统 (贪心)
最少拦截系统 点我挑战题目 题意分析 一开始理解错了这道题.这么多个导弹排好序不只需要1个拦截系统吗.后来发现自己真傻.那出这个题还有啥意思,反正都需要一个.(:′⌒`) 给出n个导弹,这n个导弹的顺 ...
- 如何给apk文件签名
1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本 ...