django开发之框架搭建

搭建虚拟环境

1.在桌面上创建虚拟环境:mkvirtualenv 虚拟环境名称

  python@ubuntu:~$ cd Desktop/
  python@ubuntu:~/Desktop$ mkvirtualenv h4  创建了一个名为h4的虚拟环境
虚拟环境安装成功后,默认已经工作在h4中:(h4)python@ubuntu:~/Desktop$

闲聊1:查看机器上已存在的虚拟环境
  python@ubuntu:~$ ll  回车后就能看到.virtualenvs/目录,所有虚拟环境都存在该目录下,可进入查看
闲聊2:删除虚拟环境 rmvirtualenv 虚拟环境名称
  python@ubuntu:~/.virtualenvs$ rmvirtualenv h4
闲聊3:退出虚拟环境 deactivate
  (h4)python@ubuntu:~/Desktop$ deactivate
闲聊4:进入虚拟环境 workon 虚拟环境名称
  python@ubuntu:~/Desktop$ workon h4
闲聊5:查看有哪些虚拟环境 workon 连续按2次空格键

2.安装虚拟环境需要的包

进入虚拟环境后,可以查看当前虚拟环境中安装了哪些包,使用命令:pip list
  (h4)python@ubuntu:~/Desktop$ pip list 

                或者 pip freeze 查看带版本号
安装Django:
  (h4)python@ubuntu:~/Desktop$ pip install django==1.8.2

创建项目

1.在桌面创建一个工程文件夹,须确保在虚拟环境下

  (h4)python@ubuntu:~/Desktop$ mkdir django_projects

2.在工程文件下创建一个项目 test01

  (h4)python@ubuntu:~/Desktop/django_projects$ django-admin startproject test01

创建应用

在一个项目中可以创建一到多个应用,每个应用进行一种业务处理。

在test01项目中创建一个名为booktest的应用
  (h4)python@ubuntu:~/Desktop/django_projects/test01$ python manage.py startapp booktest

构建MVT

使用Pycharm工具打开django_projects工程。

①model层

1.定义模型类
    打开booktest应用下的models.py文件,定义模型类。
        from django.db import models
        class BookInfo(models.Model):
            btitle = models.CharField(max_length=20)
            bpub_date = models.DateTimeField()
            def __str__(self):
                return self.btitle.encode('utf-8')

        class HeroInfo(models.Model):
            hname = models.CharField(max_length=10)
            hgender = models.BooleanField()
            hcontent = models.CharField(max_length=1000)
            hbook = models.ForeignKey(BookInfo)
            def __str__(self):
                return self.hname.encode('utf-8')
            
2.生成数据表
    ①激活模型:打开test01应用下的settings.py文件,将booktest应用加入到installed_apps中。
        INSTALLED_APPS = (
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'booktest',
        )
    
    ②生成迁移文件:根据模型类生成sql语句。
        (h4)python@ubuntu:~/Desktop/django_projects/test01$ python manage.py makemigrations
            
    ③执行迁移:执行sql语句生成数据表。
        (h4)python@ubuntu:~/Desktop/django_projects/test01$ python manage.py migrate
            
扩展:管理站点——给数据表添加数据
    ①创建管理员
        (h4)python@ubuntu:~/Desktop/django_projects/test01$ python manage.py createsuperuser
            按回车后根据提示提示输入用户名、邮箱、密码
    
    ②向admin注册booktest的模型:打开booktest/admin.py文件,注册模型
        from django.contrib import admin
        from models import *
        class HeroInfoInline(admin.TabularInline):
            model = HeroInfo
            extra = 2
        class BookInfoAdmin(admin.ModelAdmin):
            list_display = ['id','btitle','bpub_date']
            list_filter = ['btitle']
            search_fields = ['btitle']
            list_per_page = 10
            fieldsets = [
                ('basic',{'fields': ['btitle']}),
                ('more',{'fields': ['bpub_date']}),
            ]
            inlines = [HeroInfoInline]
            
        admin.site.register(BookInfo,BookInfoAdmin)
        admin.site.register(HeroInfo)
    
    ③开启服务器
        (h4)python@ubuntu:~/Desktop/django_projects/test01$ python manage.py runserver

    ④访问后台
        浏览器地址栏输入:127.0.0.1:8000/admin,输入上面创建的用户名、密码完成登录。

view层

1.定义视图
    打开booktest应用下的views.py文件,定义视图。
        # -*- coding: utf-8 -*-
        from django.shortcuts import render
        from django.http import *
        from .models import *
        def index(request):
            bookList = BookInfo.objects.all()
            context = {"list":bookList}
            return render(request,'booktest/index.html',context)
        def show(request,id):
            book = BookInfo.objects.get(pk=id)
            herolist = book.heroinfo_set.all()
            context = {'list':herolist}
            return render(request,'booktest/show.html',context)
        
2.配置urlconf
    ①主urlconf,在test1/urls.py插入booktest,使主urlconf连接到booktest.urls模块
        from django.conf.urls import include, url
        from django.contrib import admin
        urlpatterns = [
            url(r'^admin/', include(admin.site.urls)),
            url(r'^',include('booktest.urls'))
        ]
        
    ②副urlconf,在booktest应用中添加一个urls.py文件,并配置相应的url。
        from django.conf.urls import url
        from . import views
        urlpatterns=[
            url(r'^$',views.index),
            url(r'^(\d+)$',views.show)
        ]

③template层

1.创建模板目录
    在test01项目目录下新建一个templates目录,再在该目录下新建一个与应用(booktest)同名的文件夹,在该文件夹下新建所需的页面文件
    
2.修改settings.py文件,设置TEMPLATES的DIRS值
    'DIRS': [os.path.join(BASE_DIR, 'templates')],
        
3.在模板中访问视图传递的数据
    {{输出值,可以是变量,也可以是对象.属性}}
    {%执行代码段%}
posted @ 2018-08-11 12:13  _E.t  阅读(123)  评论(0编辑  收藏  举报