设为首页 加入收藏

TOP

02 Django框架基础(APP的创建访问)(一)
2017-10-10 08:30:56 】 浏览:6237
Tags:Django 框架 基础 APP 创建 访问

 一、创建项目

1.命令:django-admin startproject sitename

2.IDLE环境:本质上都是执行上述命令

常用命令:

  python manage.py runserver 0.0.0.0 (启动服务)
  python manage.py startapp appname (创建一个Application)
  python manage.py syncdb()
  python manage.py makemigrations()
  python manage.py migrate()

 

二、创建APP(application)

1.命令:dos下进入项目目录执行:python manage.py startapp web(app名称)

2.工具:pycharm 工具栏【Tools】-->Run manage.py task(点击)在界面输入:startapp web(app名称)

django目录(django的模式是MTV):

新建的APP目录缺少Template,可以使用公共的templates目录,也可根据自己的实际需要新建

三、启动

命令行:python manage.py runserver 0.0.0.0:9000(监听所有地址,监听端口9000)

pycharm:pycharm 工具栏【Tools】-->Run manage.py task(点击)在界面输入:runserver 0.0.0.0:8000

四、服务器访问

 五、写一个最简单的hello,world页面

from django.shortcuts import render
#导入httpresponse请求模块
from django.http import  HttpResponse
# Create your views here.

#登录页面
def index(request):
    return HttpResponse('<h1>Hello felix</h1>')
web\views.py
from django.conf.urls import url
from django.contrib import admin
from web.views import index

urlpatterns = [

    url(r'^admin/', admin.site.urls),
     #url映射
    url(r'^index/', index),
]
项目名称\urls.py

六、不用重启访问

七、动态路由

1、每个路由规则对应一个view中的函数
url(r'^index/(\d*)', views.index),
url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),
url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),
2、根据app对路由规则进行一次分类
url(r'^web/',include('web.urls')),
相关代码

 八、简洁的动态路由(通过反射机制)

django中的路由系统和其他语言的框架有所不同,在django中每一个请求的url都要有一条路由映射,这样才能将请求交给对一个的view中的函数去处理。其他大部分的Web框架则是对一类的url请求做一条路由映射,从而是路由系统变得简洁
为什么要简洁

九、数据库的连接访问(模型相关)

1.数据库配置

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'test',
    'USER': 'felix',
    'PASSWORD': '123456',
    'HOST': '192.168.189.132',
    'PORT': '3306',
    }
}
settings.py

2.Codefist实现

   1).创建数据库

   2).配置文件settings.py连接数据库

 3).创建model,继承自modes.Model类:

from django.db import models
 
class userinfo(models.Model):
    name = models.CharField(max_length=30)
    email = models.EmailField()
    memo = models.TextField()
创建model
1、models.AutoField  自增列 = int(11)
  如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。
2、models.CharField  字符串字段
  必须 max_length 参数
3、models.BooleanField  布尔类型=tinyint(1)
  不能为空,Blank=True
4、models.ComaSeparatedIntegerField  用逗号分割的数字=varchar
  继承CharField,所以必须 max_lenght 参数
5、models.DateField  日期类型 date
  对于参数,auto_now = True 则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
6、models.DateTimeField  日期类型 datetime
  同DateField的参数
7、models.Decimal  十进制小数类型 = decimal
  必须指定整数位max_digits和小数位decimal_places
8、models.EmailField  字符串类型(正则表达式邮箱) =varchar
  对字符串进行正则表达式
9、models.FloatField  浮点类型 = double
10、models.IntegerField  整形
11、models.BigIntegerField  长整形
  integer_field_ranges = {
    'SmallIntegerField': (-32768, 32767),
    'IntegerField': (-2147483648, 2147483647),
    'BigIntegerField': (-9223372036854775808, 9223372036854775807),
    'PositiveSmallIntegerField': (0, 32767),
    'PositiveIntegerField': (0, 2147483647),
  }
12、models.IPAddressField  字符串类型(ip4正则表达式)
13、models.GenericIPAddressField  字符串类型(ip4和ip6是可选的)
  参数protocol可以是:both、ipv4、ipv6
  验证时,会根据设置报错
14、models.NullBooleanField  允许为空的布尔类型
15、models.PositiveIntegerFiel  正Integer
16、mode
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇爬虫基本原理 下一篇Python相关基础

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目