python第十七天-----Django初体验

2016-12-09 来源: 北方姆Q 发布在  http://www.cnblogs.com/bfmq/p/6148022.html

Django是一个MTV框架

M:models(数据库)

T:templates(放置html模版)

V:views(处理用户请求)

那么传说中的MVC框架又是什么呢?

M:models(数据库)

V:views(放置html模版)

C:controllers(处理用户请求)

所有如果以后有人问你MVC或者MTV是什么的时候

1.创建Django项目

django-admin startproject mysite_django(你的项目名),生成一个目录内包含如下内容

其中mysite_django中会有:

settings.py  #配置文件

urls.py    #路由系统

wsgi.py    #WSGI(可忽略)

2.创建一个app

cd mysite_django

python manage.py startapp cmdb(你的app名)

3.url.py

总的路由系统表,需要认真匹配正则并且好好区分url的导向哦

 from django.conf.urls import url
 from django.contrib import admin
 from cmdb import views                          # 一定要导入自己创建的app的处理函数哦

 urlpatterns = [
     # url(r'^admin/', admin.site.urls),
     url(r'^login/$', views.login),              # 前面是匹配url的正则,后面是处理此url的函数
     url(r'^login/register/$', views.register),
     url(r'^admin/$', views.admin),
     url(r'^index/$', views.index),
 ]

4.views.py

每个app里都有

 from django.shortcuts import render     # 这三个都写上
 from django.shortcuts import HttpResponse   # 这三个都写上
 from django.shortcuts import redirect   # 这三个都写上
 from cmdb import models                 # 调用数据库的话要写这个

 def index(request):
     """
     处理url为index的函数
     :param request: 这个一定要写,是从用户在html页面上的表单中获取内容用
     :return: 最简单的就是直接返回一个静态页面
     """
     return render(request, 'index.html')

5.数据库相关,默认是使用自己的db.sqlite3这个库

每个app内的models.py是定义自己库内的各个表

 from django.db import models

 # Create your models here.

 class UserInfo(models.Model):
     """
     创建一个UserInfo表
     """
     username = models.CharField(max_length=32)
     password = models.CharField(max_length=32)

python manage.py makemigrations

python manage.py migrate

6.templates

所有html页面的存放地

7.statics

静态文件的存放地,如js,css,图片等等

需要在setting.py里配置路径

 STATIC_URL = '/static/'
 STATICFILES_DIRS = (
     os.path.join(BASE_DIR, 'statics'),
 )

相关文章