django笔记 - 建站
1,建站步骤:
1)django-admin.exe startproject mysite
创建完后的目录结构:
- mysite # 对整个程序进行配置
- init
- settings # 配置文件
- url # URL对应关系
- wsgi # 遵循wsgi规范,处理soceket的规范,一般用uwsgi
- manage.py # 管理django程序,例如runserver,startapp,makemigration,migrate
备注:如果不是pycharmproject根目录下建站点,import会被pycharm提示飘红
2)mysite/ python3 manage.py runserver 127.0.0.1:8001,地址和端口号不打默认是127.0.0.1:8000,或者 pycharm打开mysite运行
3)mysite/ python3 manage.py startapp app01
app目录:
- migrations # 数据库相关的操作,这里会生成相关的数据库操作记录
- init # python2文件夹必须有个init(from … import…,python2会认为文件夹而报错,只有含init文件时Python2才能导入,python3可以没有init)
- admin # django提供的后台管理程序
- app # 配置当前app
- models # 创建数据库表,ORM,写指定的类,通过命令就可以创建数据库结构
- test # 开发交
- views # 和app01相关的所有业务,主要写业务逻辑代码,例如主机管理,防火墙管理
4)建文件夹:templates,static,upload, models
5)settings:TEMPLATES(添加项目),STATICFILES_DIRS(新增),MIDDLEWARE(注释掉),INSTALLED_APPS(添加项目),DATABASES(修改)
i,TEMPLATES # 模板路径,用render打开网页时需要修改TEMPLATES下的参数(注意render不能使用相对路径)
'DIRS':[os.path.join(BASE_DIR, 'templates')]
ii,STATICFILES_DIRS # 静态目录,需新增该参数,静态网页包括例如css,js
STATICFILES_DIRS= (
os.path.join(BASE_DIR, 'static'),
)
iii,MIDDLEWARE
middleware.csrf.CsrfViewMiddleware # 注释掉,表单提交到login不会报csrf错
iv,INSTALLED_APP
添加'app01' # 用于数据库连接
v,DATABASES # 改为mysql连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname', # 数据库名,这个django无法创建,得先自己创建
'USER': 'root',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '',
}
}
6)urls和app01/views中需要导入的模块
urls:
from django.conf.urls import url
import app01.views
app.views:
from django.shortcuts import HttpResponse
from django.shortcuts import redirect
from django.views import View
import os
2,django的流程
客户端 —> 路由系统(urls)—> app.views —> templates、静态目录、数据库
django笔记 - 建站的更多相关文章
- 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)
第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...
- 玩转Django2.0---Django笔记建站基础十三(第三方功能应用)
第13章 第三方功能应用 在前面的章节中,我们主要讲述Django框架的内置功能以及使用方法,而本章主要讲述Django的第三方功能应用以及使用方法.通过本章的学习,读者能够在网站开发过程中快速开发网 ...
- 玩转Django2.0---Django笔记建站基础十(二)(常用的Web应用程序)
10.3 CSRF防护 CSRF(跨站请求伪造)也成为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用,窃取网站的用户信息来制作 ...
- 玩转Django2.0---Django笔记建站基础五(模板)
第五章 模板 Django作为web框架,需要一种很便利的方法去动态地生成HTML网页,因此有了模板这个概念.模板包含所需HTML的部分代码以及一些特殊语法 Django可以配置一个或多个模板引擎(甚 ...
- 玩转Django2.0---Django笔记建站基础十一(二)((音乐网站开发))
11.5 歌曲排行榜 歌曲排行榜是通过首页的导航链接进入的,按照歌曲的播放次数进行降序显示.从排行榜页面的设计图可以看到,网页实现三个功能:网页顶部搜索.歌曲分类筛选和歌曲信息列表,其说明如下: 1. ...
- 玩转Django2.0---Django笔记建站基础十一(一)(音乐网站开发)
第十一章 音乐网站开发 本章以音乐网站项目为例,介绍Django在实际项目开发中的应用,该网站共分为6个功能模块分别是:网站首页.歌曲排行榜.歌曲播放.歌曲点评.歌曲搜索和用户管理. 11.1 网站需 ...
- 玩转Django2.0---Django笔记建站基础十(一)(常用的Web应用程序)
第十章 常用的Web应用程序 Django为开发者提供了常见的Web应用程序,如会话控制.高速缓存.CSRF防护.消息提示和分页功能.内置的Web应用程序大大优化了网站性能,并且完善了安全防护机制,而 ...
- 玩转Django2.0---Django笔记建站基础九(二)(Auth认证系统)
9.4 设置用户权限 用户权限主要是对不同的用户设置不同的功能使用权限,而每个功能主要以模型来划分.以9.3节的MyDjango项目为例,在Admin后台管理系统可以查看并设置用户权限,如下图: 用户 ...
- 玩转Django2.0---Django笔记建站基础九(一)(Auth认证系统)
第九章 Auth认证系统 Django除了有强大的Admin管理系统之外,还提供了完善的用户管理系统.整个用户管理系统可分为三大部分:用户信息.用户权限和用户组,在数据库中分别对应数据表auth_us ...
随机推荐
- CentOS 7 install slurm cluster
//slurm install //CentOS 7 system //192.168.159.141 node01 //192.168.159.142 node02 systemctl stop f ...
- RPMB原理介绍【转】
本文转载自:https://blog.csdn.net/shenjin_s/article/details/79868375 RPMB介绍:RPMB(Replay Protected Memory B ...
- 弄懂linux shell对包含$的变量的执行过程?
参考: http://www.linuxidc.com/Linux/2012-04/58095.htm 在包含变量的命令中, 命令是怎么执行的呢? 首先, 它会原封不动的, 只是按原样替换变量的内容. ...
- YII框架的使用
YII框架的使用 spit: 吐痰,吐口水, 过去式: spat spat: 本身也可以作为一个单词, 意思是: "小打小闹""小的吵闹""小争吵&q ...
- lamp服务器被人恶意绑定域名的解决办法
还没开始就被别人绑定了域名 事情的起因与发现 刚买了个服务器搭建了一个dz,想着域名还没备案,就先搭建了起来,然后在做DDOS测试时偶然发现服务器被别人恶意把域名绑定了 最初的解决方案 没管..... ...
- C语言变量的作用域和存储类型
1.动态局部变量:也称局部变量.自动变量,是指在函数内部定义的自动变量,不带static修饰,作用域是定义该变量的子程序.在退出函数后,变量自带内存会自动释放. 2.静态局部变量:是指在函数内部定义的 ...
- P4822 [BJWC2012]冻结
思路 和p4568类似的分层图最短路 从上一层向下一层连边权/2的边即可 代码 #include <cstdio> #include <algorithm> #include ...
- (转载)C# GDI+ 画简单的图形:直线、矩形、扇形等
GDI+是一种绘图装置接口, 当拖动窗体是,窗体发生移动,window默认为从窗体移动到另一个地方,先发生擦除后再重新画一个窗体: 而我们自己动手画的图(如下面的线),不会重新画:在属性中,Paint ...
- 分布式爬虫scrapy-redis中settings.py中的配置信息
SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 使用scrapy-redis的调度器 ITEM_PIPELINES = { 'sc ...
- jQuery实现Marquee
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <meta na ...