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开发步骤的更多相关文章

  1. Django开发笔记之数据库的设计

    后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原 ...

  2. Web应用程序的开发步骤

    Web应用程序的开发步骤 如今已进入了web2.0高速发展的互联网时代,各种互联网的Web应用程序如雨后春笋般出现.那么作为一名Web开发人员,怎样去开发一款优秀的Web应用程序呢?这个问题没有一个简 ...

  3. Django开发基础----创建项目/应用

    环境: 1.python  3.6.2 2.安装django:pip install django==1.10.3 *下面以开发一个简单的用户签到系统介绍Django的使用 创建Django项目: 命 ...

  4. Django开发——集成的子框架django.contrib

    Django开发——集成的子框架django.contrib 2018年09月11日 19:32:42 Mrkang1314 阅读数:63  https://blog.csdn.net/mashaok ...

  5. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

  6. CentOS6设置Django开发环境

    今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 "django-admin.py startproject myapp" 创建应用的时候报了下面的错误 ...

  7. 【OpenWRT】【RT5350】【三】MakeFile文件编写规则和OpenWRT驱动开发步骤

    一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二. ...

  8. django开发个人简易Blog——数据模型

    提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...

  9. iOS应用内付费(IAP)开发步骤列表

    iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表, ...

随机推荐

  1. C++ 的写好库编译好,DELPHI或者Java做界面,iOS 和 Android 就都搞定。

    当然也可以使用BCB和相关的开发库来开发App,只是别人没法帮助你. 摘自<想到做到-Android开发关键技术与精彩案例>.(詹建飞) p40

  2. C#基础入门 一

    C#基础入门 一 基本输入输出函数 简单程序输出helloworld using System;//引入System库 namespace MainClass { class MainClass { ...

  3. [Erlang03]Erlang有哪些好用的静态分析工具?

    1. dialyzer Dialyzer starts its analysis from either debug-compiled BEAM bytecode or from Erlang sou ...

  4. AgentJob--修改操作系统时间对Job的影响

    场景:有一个数据库作业每10分钟运行一次,在系统管理员修改操作系统时间后,作业长时间未运行. 分析:作业最后一次运行时间是 10:20,按照作业的计划,下一次的运行时间为 10:30,而系统管理员修改 ...

  5. bitcoin script

    P2PK P2PKH,MS,P2SH,OP_RETURN 等的区别 1.P2PK pay_to_public_key pubkey script: <pubkey> OP_CHECKSIG ...

  6. 零散知识点总结(持续更新……)

        这篇博客用于记录平时学习中遇到的零散的知识点,它们不适于单独写一篇长博客,在这里记录下来一是为了增强记忆,二是为了方便复习总结.这篇博客会持续更新... 一.JS数据类型及类型判断 1. JS ...

  7. Android理解:Activity状态和生命周期

    http://blog.csdn.net/xiao__gui/article/details/11464603

  8. BZOJ3638|CodeForces 280D k-Maximum Subsequence Sum

    题目链接:戳我 一类典型模型.线段树模拟网络流+区间最大K段和. 因为不会写,所以参考了黄学长的博客.但是我觉得他说得不够详细,所以想好好地解释一下: 前置技能1:区间最大子段和 如果K=1的时候怎么 ...

  9. java 去最后一位字符 str.substring(0,str.length()-1)

    String str = " 中国, 美国 , 意大利 ";String[] arr = str.split(",");for(int i1 =0;i1< ...

  10. leecode刷题(15)-- 验证回文字符串

    leecode刷题(15)-- 验证回文字符串 验证回文字符串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 ...