第一步:下载mysql驱动

cmd进入创建好的django项目目录:然后使用下面的命令创建一个项目testdj。

 sudo /usr/lib/python3/dist-packages/django/bin/django-admin.py startproject testdj
然后创建一个应用testapp:
sudo /usr/lib/python3/dist-packages/django/bin/django-admin.py startapp testapp

第二步:在settings.py中配置mysql连接参数(没有mysql的先装mysql)

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': '数据库名(你得先在mysql中创建数据库)',
    'USER':'mysql用户名(如root)',
    'PASSWORD':'密码(如123456789)',
    'HOST':'域名(127.0.0.1或localhost)',
    'PORT':'端口号(3306)',
  }
}

第三步:在models.py中创建model类

from django.db import models
# Create your models here. 类似于MVC架构中的Model
class Article(models.Model):
  title = models.CharField(max_length=60,default='title')
  content = models.TextField(null=True)
第四步:根据model类创建数据库表

1、cmd进入django项目路径下

2、Python manage.py migrate #创建表结构,非model类的其他表,django所需要的

3、python manage.py makemigrations app名 #做数据迁移的准备

如:python manage.py makemigrations myblog myblog是我项目中的app名字

4、python manage.py migrate # 执行迁移,创建medel表结构

第五步:开始写代码吧

首先说下需求,就是在代码里向MySQL中插入一条记录并显示到页面

1、在templates下新建一个模板,其实就是页面,如index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2> {{article.title}}</h2>
内容:{{ article.content }}
</body>
</html>
使用{{ }}在页面进行数据显示,这里看下就明白

2、配置URL

1、在项目下的urls.py(注意是项目下的urls.py)配置url映射:

from django.conf.urls import url,include
from django.contrib import admin
#根url配置
urlpatterns = [
  #url(页面正则,响应的方法名称)
  url(r'^admin/', admin.site.urls),
  url(r'^myblog/',include('myblog.urls')),
]
这里注意有一个include('myblog.urls')是我们接下来要配置的二级url,在app下的urls.py中配置
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
  #url(页面正则,响应的方法名称) ^index$:表示要以index开始和结束,正则约束
  url(r'^index/$',views.index),
]
现在一个路径为'localhost:8000/myblog/index/'的访问路径就配好了,url(r'^index/$',views.index)就表示最终/myblog/index/这个路径由views.py中的index方法来响应。

3、写响应函数:如像数据中插入一个数据,并显示在页面上

from django.shortcuts import render
from django.http import HttpResponse
from myblog.models import Article
# Create your views here.
def index(request):
  article = Article(title='标题',content='内容!')
  article.save()
  return render(request,'index.html',{'article':article}
第六步:运行项目

我这里使用的pycharm,点击运行按钮即可,没有pycharm的可使用:

python3 manage.py runserver 0.0.0.0:8000
 
来开启服务器,然后咋浏览器输入http://localhost:8000/myblog/index/, 打完收工!

提交表单例子:

newarticle.html in testapp/templates 文件夹

1 <html>
  2         <head>
  3                 <meta charset = "UTF-8">
  4                 <title>新添加一篇文章</title>
  5         </head>
  6         <body>
  7                 <form method="POST">
  8                         {% csrf_token %}
  9                         标题:<input type="text" name="articletitle" value="" /><br/>
 10                         作者:<input type="text" name="author" value="" /><br/>
 11                         文章内容:<textarea name="content" clos="100" rows="10" wrap="true"></textarea><br/>
 12                         <input type="submit" value="提交" />
 13                 </form>
 14         </body>
 15 </html>

testapp/views.py:

1 #__*__ encoding:UTF-8 __*__
  2 from django.shortcuts import render
  3 from django.http import HttpResponse
  4 from testapp.models import Article
  5
  6 # Create your views here.
 12
 13 def newarticle(request):
 14     if request.method == "GET":
 15         return render(request,'newarticle.html')
 16     if request.method == "POST":
 17         print(request)
 18         articletitle = request.POST.get('articletitle')
 19         content = request.POST.get('content')
 20         author = request.POST.get('author')
 21         article = Article(title=articletitle,content=content,author=author)
 22         article.save()
 23         return render(request,'index.html',{'article':article})

urls.py in testapp:

from django.conf.urls import url
  2 from django.contrib import admin
  3 from . import views
  4 urlpatterns = [
  5         url(r'^index/$',views.index),
  6         url(r'^newarticle/$',views.newarticle),
  7         ]

urls.py under testdj/ folder:

from django.conf.urls import url,include

from django.contrib import admin

urlpatterns = [

url(r'^admin/', admin.site.urls),

url(r'^testapp/',include('testapp.urls')),

]

settings.py under testdj/ folder:

set ALLOWED_HOSTS  with  '*' for all ipaddresses and hostname, or set it with a special ipddress or hostname

ALLOWED_HOSTS = ['*']

or

ALLOWED_HOSTS = ['www.abyee.com']

For deploy on apache server:

also need to edit the wsgi.py file under project folder:

here is /usr/lib/djangotest/testdj/testdj/wsgi.py

code:

import os
from os.path import dirname,abspath
import sys
from django.core.wsgi import get_wsgi_application
project_dir = dirname(dirname(abspath(__file__)))

sys.path.insert(0,project_dir)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testdj.settings")

application = get_wsgi_application()

原文:https://www.jb51.net/article/118896.htm

Django 的命令及简单例子的更多相关文章

  1. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

  2. kubernetes进阶之一:简单例子

    kubernetes 从一个简单例子开始 参考 <kubernetes 权威指南>一节的 从一个简单例子开始,操作实录. 一.Java Web 应用结构 二.启动MySql服务 1.首先为 ...

  3. Linux笔记 #09# Tomcat多开以及Nginx负载均衡简单例子

    索引 Tomcat怎样多开.. 1.添加环境变量(最基础.关键的步骤!) 2.改catalina.sh 3.改相关端口 Nginx负载均衡简单例子 Tomcat怎样多开.. 演示一下如何开两个(开n个 ...

  4. Spark简介安装和简单例子

    Spark简介安装和简单例子 Spark简介 Spark是一种快速.通用.可扩展的大数据分析引擎,目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark S ...

  5. web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例

    Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...

  6. Drools简单例子

    转自:http://www.blogjava.net/diggbag/articles/359347.html 1.Drools简单例子 首先是搭建一个可供进行Drools开发的框架.Jboss官方推 ...

  7. Heka 最简单例子

    技术人员学习都是从简单例子开始的, Heka的应用也是从简单开始的.   需求: 监控一个日志文件的内容, 在标准输出显示出来.   操作步骤: 使用下载好或者编译好的 heka 已经编译好的 rel ...

  8. Django学习 之 Django安装与一个简单的实例认识

    一.Django简介 1.MVC与MTV模型 (1)MVC模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的. ...

  9. 7z命令行简单使用

    7z命令行简单使用 网上有很多博客都有记录7z的命令行使用方式,但看起来乱起八糟的,不知所云. 急于使用者可以直接看实例 注:我仅仅记录我认为常用的命令,毕竟没有那么多的精力去学习不常用的东西. 简介 ...

随机推荐

  1. 某里巴巴Java工程师常规面试题以及解答

    从HR弄来的P6-P7的JAVA工程师题目,分享给大家 1 Spring AOP和IOC的实现方法 http://blog.csdn.net/tarena_lixy/article/details/7 ...

  2. JS获取页面复选框选中的值

    function jqchk(){ //jquery获取复选框值 var chk_value =[]; $('input[class="sel"]:checked').each(f ...

  3. MATLAB GUI设计(线性卷积和循环卷积的比较--笔记)

    原创循环卷积代码,转载需注明出处 线性卷积与循环卷积的比较 实验目的和要求 掌握循环卷积和线性卷积的原理,与理论分析结果比较,加深理解循环卷积与线性卷积之间的关系. 实验内容和步骤 1) 已知两序列X ...

  4. Servlet基本知识总结

    Servlet 简介 Servlet是什么? Servlet是一个Java编写的程序,此程序是基于Http协议的,并运行在web服务器上或者应用服务器上.它主要是作为web浏览器或其他Http客户端的 ...

  5. 前端学习历程--vue

    ---恢复内容开始--- 一.对比其他框架 1.react: 共同点: 使用 Virtual DOM 提供了响应式(Reactive)和组件化(Composable)的视图组件. 将注意力集中保持在核 ...

  6. kubernetes-pod-infrastructure:latest

    解决方法:试试通过手动下载 docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest docker pull 是还是 ...

  7. UDP广播 与 TCP客户端 --服务端

    随着倒计时的响声,自觉无心工作,只想为祖国庆生. 最近有遇到过这样一个问题,将摄像头识别的行人,车辆实时显示在客户端中.有提供接口,会以Json的数据的形式将实时将识别的对象进行Post提交.所以我们 ...

  8. 莫名奇妙虚拟机 ip addr 不显示 ip 地址,连不上网络

    CentOS7 Failed to start LSB: Bring up/down networking. 说是mac地址不对.其实,本人并没有配置mac,按理说用的默认的.之前一直是可以正常工作的 ...

  9. 关于 IIS 的 Management Service Delegation 配置 备份

    在MSDN没找到关于使用APPCMD备份IIS的"Management Service Delegation"模块配置命令. 到IIS的配置文件存放目录下,几番搜索,查到%wind ...

  10. Jmeter上传附件EXCEL

    1.通过对上传附件接口进行抓包,获取的信息如下: 2.在jmeter脚本中添加http请求,并添加http请求头信息如下: 3.在http请求中添加上传附件的内容如下,由于我上传的是excel,所以M ...