python三大主流web框架之Django安装、项目搭建
这一篇我们将迎来python强大的web框架Django,相信大家都已经不陌生,本篇将介绍Django的安装及基础项目搭建,大神略过~
Django是需要我们手动pip安装的,首先我们来安装Django
两种安装方式:命令行、pycharm
这里我们推荐下载1.11.11版本(原因嘛,大家懂的,就好像苹果系统新版本的发布总有一部分机器会成砖,一个道理)
命令行:
python2: pip install django==1.11.11
python3: pip3 install django==1.11.11
pycharm:
file > settings > Project > Project interpreter > 右上角 + 号 > 搜索框:django > Specify version选择 1.11.11 > 点击install Package
等待安装完成即可~
下一步:验证安装:命令行:django-admin 回车如果出来一大整页的信息,那么恭喜你安装成功啦!
那么下面我们就要开始创建django项目了
创建django项目前我们先来了解下django项目结构:
django项目分主项目和app应用
app概念:
一个django项目就像是一所大学
app就像是这所大学下面的各个学院
创建django项目的两种方式:
方式一(命令行创建): # python3环境下
创建ajango项目:django-admin startproject 项目名
创建app应用:python3 manage.py startapp app名(通常为appXX,如:app01)
启动django项目:python3 manage.py runserver
注意:手动命令行创建django项目默认不会创建templates文件夹,需要我们手动在项目目录创建,
这个时候需要我们自己在settings配置文件中加入该文件夹路径,见下图:
方式二(pycharm创建):
file >> new project 选择第二个django,对项目取名(不能含中文),选择本地解释器,勾选本地解释器,见下图
创建app:
方式一:pycharm命令行创建:python3 manage.py startapp appXXX (如app01)
方式二:pycharm顶部菜单Tools下面run manage task功能栏,输入命令:startapp appXXX (如app01)
运行项目:
点击菜单栏django项目名右边的绿色小箭头
!!!注意事项:1、在pycharm窗口只能有一个django在运行状态,如果多开永远只有第一个在运行,调试bug半天没反应
2、浏览器一定要设置为不保存缓存的,因为保存缓存可能会导致这次调试的前端效果仍旧是上次改动前的效果,
浏览器还没读修改后的内容,用的是缓存数据
!!!另外,想要正常运行django项目,还有几个点需要你注意,不然bug在哪里你都不知道!
1、计算机名称不可以用中文
2、一个pycharm窗口就是一个项目,不要在窗口下面的子文件夹创建项目、不要和其他项目并列
3、项目名称一定不要用中文
到这里我们的项目就搭起来了,然后还没完,我们还有些配置需要做~
注意新创建的app需要在配置文件中注册才能生效(重点)
找到settings配置文件,打开找到
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
在列表后面中加入我们创建的app名称
'app_first.apps.App_firstConfig' # 全称
或
'app_first' # 简写
好了!到这里我们的django项目就完全搭建好了~
然而作为小白的你是不是一脸懵逼.....?这么多的文件夹和文件到底是干嘛的呢?
那么接下来我们就来说说每个文件到底是干嘛的
django各个文件的作用
目录结构:
app名
migrations 数据库迁移记录相关数据
admin.py django后台管理相关
models.py 模型表相关
views.py 视图函数相关
项目名
settings.py 配置文件
urls.py 路由与视图函数的映射关系
templates
项目用到的所有的html文件
db.sqlite3
django自带的微型数据库,可做测试用
manage.py
django入口文件
django小白必备三板斧
app下的views.py文件中导入render,HttpResponse,redirect
from django.shortcuts import render,HttpResponse,redirect
给前端页面返回什么
HttpResponse(value) 返回字符串
render(request, path, values) 返回一个html页面
两种给前端页面传值的方式
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',{'user_dict':user_dict})
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',locals())
redirect 重定向
另外django还有一个很人性化的地方
运行中的项目当你修改你的项目代码后django会自动重启,有时候会比较慢,你可以手动点击重启
本篇教程到此就结束啦~~喜欢的点个赞呗~
python三大主流web框架之Django安装、项目搭建的更多相关文章
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- 详说Flask、Django、Pyramid三大主流 Web 框架
前言 目前随着 Python 在大数据.云计算.人工智能方面的热度,Python Web 应该也会被更多企业了解使用. Python Web 框架千万种,没必要都去了解和学习,身边总有人说高手都用 F ...
- python开发学习-day15(前端部分知识、web框架、Django创建项目)
s12-20160430-day15 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- Python 四大主流 Web 编程框架
Python 四大主流 Web 编程框架 目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架 ...
- Flask(1)- 主流web框架、初识flask
一.Python 现阶段三大主流Web框架 Django.Tornado.Flask 对比 Django 主要特点是大而全,集成了很多组件(例如Models.Admin.Form等等), 不管你用得到 ...
- Python开发【第十八篇】Web框架之Django【基础篇】
一.简介 Python下有许多款不同的 Web 框架,Django 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于 Django. Django 是一个开放源代码的Web应用框架,由 P ...
- Python开发【第二十二篇】:Web框架之Django【进阶】
Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 ...
- Python开发【第二十一篇】:Web框架之Django【基础】
Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...
- 两个Python web框架:Django & Tornado比较
就是说它作为 web 框架比 Django 简单,又支援异步 IO,且更不需要前端的 webserver ? 我已经混乱了, Tornado是 Nginx.Django.Node.js 的结合体?又或 ...
随机推荐
- spring-boot-quartz, 依赖spring-boot-parent good
/** * state的值代表该任务触发器的状态: STATE_BLOCKED 4 // 运行 STATE_COMPLETE 2 //完成那一刻,不过一般不用这个判断Job状态 STATE_ERROR ...
- Android开发小知识
修改Android app图标(Android Studio) 1. res\drawable 放置icon.png(此图片是你需要修改的图标); 2. 修改AndroidManifest.xml ...
- Netty:一种非易失堵塞client/server相框
Netty:一种非易失堵塞client/server相框 作者:chszs.转载需注明.博客主页:http://blog.csdn.net/chszs Netty是一个异步事件驱动的网络应用框架,为J ...
- Delphi MD5加密
Delphi MD5加密 1. 引用两个单元 uses IdHash,IdHashMessageDigest; 2.编写加密函数 function TEncrypti ...
- EM 12c: OMS Failed to start After restarting the Repository Database or reboot of the server
原文地址:http://blog.csdn.net/wanghui5767260/article/details/39398449 更全面,更专业 EM 12c: OMS Failed to star ...
- .net core下,Ocelot网关与Spring Cloud Gateway网关的对比测试
有感于 myzony 发布的 针对 Ocelot 网关的性能测试 ,并且公司下一步也需要对.net和java的应用做一定的整合,于是对Ocelot网关.Spring Cloud Gateway网关做个 ...
- AWS核心服务概览
1.Amazon Web Service 应该可以说,Amazon Web Service目前是云计算领域的领头羊,其业务规模.开发水平和盈利能力在业界内都是首屈一指的.从本科毕业离开学校就一直做Ja ...
- 一款天气app的温度曲线图的实现
原文:一款天气app的温度曲线图的实现 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/tyhzsd/article/details/50544639 ...
- VLC-FM PLAYLIST
VLC-FM-PLAYLIST.xspf <?xml version="1.0" encoding="UTF-8"?> <playlist x ...
- WPF 绑定到集合
<Window x:Class="CollectionBinding.MainWindow" xmlns="http://schemas.micros ...