如何开启一个Django项目
一:新建的Django工程
新建了一个Django工程后,工程会自动创建有两个templates文件夹和unitled文件夹,再加上一个manage.py文件。
二:Django开发的一般流程
在工程建立完成后,现在依照完成一个基于mysql数据库的具体的页面来熟悉Django的基本开发流程。
2.1:静态配置文件的路径修改
setting.py中是工程的配置文件
其中静态文件的引用路径都会去这个地方来找
2.2:数据库的相关配置
告诉Django怎么连接数据库
要注意配置的key都是大写,ENGINE是你所用的数据库只需要更改mysql这个地方就可以修改使用的数据库了。
利用pymysql模块来调用数据库需要在工程的同级别的__init__.py文件中添加以下代码:告诉Django用pymysql这个模块代替Mysqldb去连接MySQL
import pymysql pymysql.install_as_MySQLdb()
就用Django实现一个页面来说,目前在配置文件中只需更改上面的几项配置。
2.3:新建一个项目App,并配置
打开终端进入工程所在目录下,按照下面的例子来建立一个App
F:\mysite>python manage.py startapp login
一个App下会自动建立有上面的文件,同时建立了一个APP之后,需要告诉Django你所建立的APP,在setting中配置好
2.4:应用的业务逻辑
在views中处理业务的逻辑
def dashboard(request):# if request.method == 'POST':# info = request.POST.get('publisher_name')# models.Publisher.objects.create(name = info)ret = models.Publisher.objects.all()return render(request,'dashboard.html',{"publisher_list":ret})def add_publisher(request):if request.method == 'POST':info = request.POST.get('publisher_name')models.Publisher.objects.create(name = info)return redirect('/dashboard/')return render(request,'add.html')
2.5:请求和业务逻辑的映射
在上网时,输入一个网址,就是由浏览器把对一个页面的请求发送给web服务端,web服务端根据请求的消息,找到和服务器中业务逻辑的对照关系,执行相应的代码,回复浏览器的请求。
在Django中,请求和业务逻辑的对应关系写在setting同级别的urls.py中.
from django.conf.urls import url from django.contrib import admin from app01 import views #从App中导入viewsurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^add_publisher/',views.add_publisher),url(r'^dashboard/',views.dashboard), ]#请求和业务逻辑映射
Django已经规定好具体的逻辑,遵循其规范把请求和业务逻辑填入即可.
三:加上数据库
数据库的配置在一开始就已经提到,在Django中按照以下关系把表和类对应起来
类<=====>表
类的实例化对象<=====>表的一条记录
属性<=====>字段
在每个项目App中都有一个models.py文件,就是用来和数据库的中的表建立映射的,把表映射成一个类,用操作类的方式操作表。
from django.db import models # Create your models here. class Publisher(models.Model):id = models.AutoField(primary_key=True)name = models.CharField(max_length=16)
但是要想把表创建出来,仅仅只是定义一个类是不够的,还需要以下两步:
打开Teminal终端:
1. python3 manage.py makemigrations --> 将models.py的修改登记到小本本上 2. python3 manage.py migrate --> 将修改翻译成SQL语句,去数据库执行
将上述命令执行之后,由models中class定义的类映射的表就执行SQL语句在数据库中创建完成了。
最后是把HTML文件放在templates文件夹中,Django中已经配置好,会自动去该路径下查找HTML文件,打开文件读取,然后发送给浏览器客户端。
目前来说,有三种响应方式:
1:HttpResponse()#返回括号内的字符给浏览器
2:render(request,'xxx.html')#两个参数,request是固定写法,返回html文件给浏览器
3:redirect(‘url’)#把url告知浏览器,浏览器根据url重新发起请求。
命令行指定端口运行程序
python manage.py runserver 8080
四:总结
总的来说,初学者新建Django项目的步骤:
1: 创建项目(APP)和配置项目
2.:创建数据库(models中定义一个类)和配置数据库
3.:配置templates和静态文件相关
4.:注释掉 settings.py中 csrf那一行
转载于:https://www.cnblogs.com/li1992/p/9174531.html
如何开启一个Django项目相关推荐
- Django从理论到实战(part3)--创建一个Django项目
学习笔记,仅供参考 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的写一下. 文章目录 创建一个Django项 ...
- 第一个django项目
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 说在前面 ...
- 使用Pycharm创建一个Django项目
本文为Django项目创建的简单介绍,更为详细的Django项目创建,编辑可以参考如下教程: IMOOC Django入门与实践-http://www.imooc.com/learn/790 Pych ...
- 初学者用pycharm创建一个django项目和一个app时需要注意的事项
目录 如何新建一个djiango项目: 如何创建一个app: 如何启动一个django项目: 新建一个django项目,需要注意以下几项配置: 如何新建一个djiango项目: 1.在pycharm中 ...
- 创建第一个Django项目
创建第一个Django项目: 我们将介绍Django 管理工具及如何使用 Django 来创建项目,第一个项目我们以 HelloWorld 来命令项目. 测试版本说明: python 3.7 Djan ...
- 创建python虚拟环境,安装django,创建一个django项目,在项目中创建一个应用(ubuntu16.04)...
一.创建python虚拟环境 首先,为什么要创建python的虚拟环境? 因为,在实际的项目开发中,每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要 我们根据需求不断的更新或卸载相应的库 ...
- 把python37添加到环境变量配置_关于在win 10上成功创建一个Django项目时遇到django-admin的手动配置环境变量问题。...
前言 初学Python Web 在创建第一个Djang项目的时候出现了很多的问题,今天和大家分享并记录一下这次艰难的历程! 一.官网下载Python以及安装Django 1.Python的下载安装 链 ...
- python创建django项目_搭建Python-Django环境,创建第一个Django项目
曾想学爬虫,没想到误入python web班,在美女老师shirely的指导下,搭建了好Django环境,试着开始做第一个web项目 一.Python环境安装 1.Python2.7的下载 从Pyth ...
- python虚拟环境中安装diango_创建python虚拟环境,安装django,创建一个django项目,在项目中创建一个应用(ubuntu16.04)...
一.创建python虚拟环境 首先,为什么要创建python的虚拟环境? 因为,在实际的项目开发中,每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要 我们根据需求不断的更新或卸载相应的库 ...
最新文章
- 数据库删除记录核心语句 解读 (vb6.0)
- 程序员如何让自己的程序少出BUG- [工作]
- 汤家凤高等数学基础手写笔记-无穷级数
- linux系统日常管理复习题讲解
- PHP函数调用及循环体内定义大型变量效率的研究
- IBatisNet 升级到 .Net Framework 4.0 时发现 IBatisNet 一小BUG
- 催化剂概念在管理领域的应用——来自项目管理群的讨论
- CENTOS 7 YUM 没有可用的软件包 NGINX
- Cornerstone详细操作
- 测国外服务器速度的网站,美国服务器如何测试速度?
- 24点游戏(python)
- 干碳纤维 湿碳纤维_纤维状网站故障不是一种选择
- 百度地图转高德地图(火星坐标)高德地图(火星坐标)转百度地图
- 微信小程序地理位置API使用流程
- java前后端分离框架_Spring Boot 入门及前后端分离项目实践
- 【漏洞提示】MySQL8.0.29因重大bug官网已下架
- 浏览器兼容性JS问题
- 2014年初 800元的大厂Android手机配置
- PostGIS FME导入fbx格式模型
- 硬盘测试软件黑屏,电脑接上硬盘就黑屏,是什么原因啊?
热门文章
- 中立时滞matlab,中立型时滞系统的稳定性改进判据
- SQL Server 数据库优化
- WUSTOJ 1282: Start(Java)
- trade-off 翻译
- SDUTOJ2828_字典树
- Java学习---流与文件
- bzoj 1753: [Usaco2005 qua]Who's in the Middle【排序】
- [COGS58] 延绵的山峰
- MariaDB mysql 比较区别 选择
- poj 1067 取石子游戏(博弈+威佐夫博奕(Wythoff Game))