Django开发步骤
Django开发步骤
Django框架每次开发的初始化的套路都基本一样,这里记录一下。
安装Django
首先安装Python软件,上python官网下载对应的安装包。接下来就是安装Django:
pip install django
最新版本的Python都基本自带pip命令,所以直接就可以安装Django。
初始化项目
为新项目建立一个目录,在cmd下面运行命令:
django-admin startproject <project_name>
建立数据库
安装MySQL后,进入mysql并运行:
create database <dbname> character set utf8;
之后还有安装python的mysql驱动。
配置数据库连接
进入django建立好的工程目录中,有个settings.py文件,编辑此文件中的DATABASES部分。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': 3306,
'CHARSET': 'utf8',
'OPTIONS': {
'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"'
}
}
}
初始化数据库
在命令行下进入项目所在目录,输入:
python manage.py makemigrations
python manage.py migrate
这样Django所需的自己的表会在数据库中建立。
这时可以到数据库中查看是否已经有django的自己的表。
建立应用
代码都是在应用中开发,在命令行下进入工程目录,然后输入:
python manage.py startapp <app_name>
之后就会在工程目录下建立一个应用目录,下面产生一些初始化的python文件。
建立应用的模型
模型是用来处理数据的,是程序与数据库表之间的桥梁,或者可以看到数据库表在代码中的映射,属于ORM模式。
每个模型就是一个Python中的class,并且对应一个数据库表。自定义class需要继承django.db.models.Model类。成员变量名称对应数据库表中字段名称,使用models.CharField, DateTimeField, IntegerField代表其类型。如果表名与类名不想使用相同的方式,可以定义一个内部类class Meta: 其中属性db_table的值为表名。
模型定义之后,可以使用命令更新到数据库中(在数据库中建立对应的表):
python manage.py makemigrations
python manage.py migrate
如果是想从数据库表导出模型类,那么使用命令:
python manage.py inspectdb > models.py
注册应用
修改settings.py中的INSTALLED_APPS选项:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'your_app_name',
]
建立view方法
view方法是在用户调用URL后,用来处理请求的方法,并返回处理结果。
view方法写在应用的views.py中,也可以放在其他python文件。只是形式为:
def hello(request):
if request.method == 'GET':
do_something()
elif request.method == 'POST':
do_something_else()
return HttpResponse("Hello World!", content_type="text/html");
配置URL映射
在你的应用中建立urls.py文件,并且建立url对应的view方法。
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^hello$', views.hello, name='hello'),
]
然后在把应用的url加入到整个工程的url映射中。修改项目目录下的urls.py文件:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api/', include('yourappname.urls')),
]
运行系统
输入命令:
python manage.py runserver
如果想监听不同IP和端口可以使用
python manage.py runserver 192.168.0.100:8080
建立django的后台管理页面
Django自带了后台管理页面,只要使用下面命令建立一个超级管理员用户:
python manage.py createsuperuser
然后按照提示输入用户名,密码和邮箱就可以了。
最后打开浏览器输入: http://localhost:8000/admin
@完
Django开发步骤的更多相关文章
- Django开发笔记之数据库的设计
后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...
- Web应用程序的开发步骤
Web应用程序的开发步骤 如今已进入了web2.0高速发展的互联网时代,各种互联网的Web应用程序如雨后春笋般出现.那么作为一名Web开发人员,怎样去开发一款优秀的Web应用程序呢?这个问题没有一个简 ...
- Django开发基础----创建项目/应用
环境: 1.python 3.6.2 2.安装django:pip install django==1.10.3 *下面以开发一个简单的用户签到系统介绍Django的使用 创建Django项目: 命 ...
- Django开发——集成的子框架django.contrib
Django开发——集成的子框架django.contrib 2018年09月11日 19:32:42 Mrkang1314 阅读数:63 https://blog.csdn.net/mashaok ...
- django开发环境搭建(参考流程)
django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...
- CentOS6设置Django开发环境
今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 "django-admin.py startproject myapp" 创建应用的时候报了下面的错误 ...
- 【OpenWRT】【RT5350】【三】MakeFile文件编写规则和OpenWRT驱动开发步骤
一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二. ...
- django开发个人简易Blog——数据模型
提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...
- iOS应用内付费(IAP)开发步骤列表
iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表, ...
随机推荐
- php的数组汉字符串常用函数
<?php// function add($a,$b,$func){// if(!is_callable($func)){// return false;// }// $m=$a+$b+$fun ...
- xaml mvvm(1)之结构
在微软winstore.wp和silverlight中xaml是用来构建UI视图的标记语言,全名Extensible Application Markup Language.在结构上类似于html,但 ...
- 工作中的Buff加成-结构化思考力:第一章:认识结构化思维及其作用
一:引言 为了更好的说明结构思考力,我们先来做几个小测试. PS:如果你能做到,请留言,因为我要和你交好友,因为你是人才啊,可以挖一挖,挖到我的公司中. 第一个测试:请在三秒内记住下列数字.数字顺序不 ...
- ie7 a标签强制不换行兼容问题
a内容错乱如图所示: 解决方法:加个样式就行white-space:nowrap; 最终效果图: 添加了white-space:nowrap 之后, 这样就强制一段文字不会自动换行了.
- 标题title出现不规则背景
Html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- Python 验证码识别(别干坏事哦...)
关于python验证码识别库,网上主要介绍的为pytesser及pytesseract,其实pytesser的安装有一点点麻烦,所以这里我不考虑,直接使用后一种库. python验证码识别库安装 要安 ...
- [Flex] FlashBuilder 4.6运用标签嵌入字体方法
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- c++11 perfect forwarding
完美转发是c++11 引入右值引用之后,在template 中的延伸. 顾名思义,完美转发是将参数不改变属性的条件下,转发给下一个函数. 因为普通函数的参数一旦具名,始终都是lvalue. 如果把rv ...
- Linux rsync 企业级应用
简介 rsync 是 Linux 下的数据同步工具, 其支持本地同步和远程同步, 远程同步分为 daemon 和 ssh 同步方式 rsync 可以代替 cp, scp 等命令, 且具有更高的可 ...
- 某个js插件没有执行
今天遇到一个奇怪的问题,bootstrap-table插件根本没有执行.后来发现用于执行bootstrap启动的js文件出错.导致这个不能顺利执行错误js中的程序.一般导致插件不能顺利执行有两个原因. ...