zoukankan      html  css  js  c++  java
  • Django实际开发

    Django 开发个人博客全过程(未完)

    一、建立项目

    1. 建立虚拟环境:python -m  venv+虚拟环境名
    2. 激活虚拟环境:虚拟环境名Scriptsactivate
    3. 安装Django:解决安装超时的方法

               1)直接复制网站下载

                    2)pip  --default-timeout=延长的时间 install ...

      4.利用django创建项目:django-admin startobject+项目名

      5.创建SQLite数据库:python manage.py migrate

      6.运行查看项目:python manage.py  runserver

    二、创建应用程序APP:

      1.定义模型  def __str__(self):  #该方法的调用用于显示模型

      2.激活模型:设置settings.py 向INSTALL_APP加入相应的应用程序

      3.让Django迁移修改数据库:python manage.py makemigrations+项目名

      4.Django管理网站

        1)创建超级用户:python manage.py createsuperuser

        2)向管理网站注册模型分为两步:Ⅰ、 from 应用名.models import 类 

                         Ⅱ、admin.site.register(类名)

      5.models.Model :   django中一个定义了模型基本功能的类

      6.Django shell

        1)启动python解释器:python manage.py shell

        2)获取模型中的实例:from 某模块 import 类,  类.objects.all()

        3)获取实例中的元素:msgs = 类.objects.all()

                             For msg in msgs:

                               Print(msg.id, msg)

        4)外键Foreignkey相关联的实例可以直接用相关模型的小写名称+下划线+set来获取数据

    三、创建网页

      1.映射URL

        1) path不是不能用正则而是要调用django.urls.re_path()函数,来使用正则。

      2.编写视图

      3.编写模板

      4.模板继承

    四、用户账户:user

    1. HttpResponseRedirect() 和 reverse()
    2. 在Django2.0中内置登陆视图不再是函数,而是类,位置在django.contrib.auth.views import LoginView

                from django.contrib.auth.views import LoginView

                urlpatterns = [

               #登录界面  LoginView.as_view后面要加上()

                 url(r'^login/$',LoginView.as_view(template_name='users/login.html'),name='login')]

       3.登陆功能的实现

      4.注销功能的实现

      5.注册功能的实现

      6.{% if is_usercreationform %} 身份验证

      7.authenticate,login,logout

      8.{% csrf_token %} :跨站请求伪造

      9.{{ form.as_p }} :让Django自动创建显示表单所需的全部字段

      10.让用户拥有自己的数据

      11.将数据关联到特定的用户:Ⅰ、设置外键owner = models.Foreignkey(User)

                                                            Ⅱ、用过滤器objects.filter(owner=request.user)

      12.django.contrib.auth.decorators import login_required(装饰器)

      13.@login_required装饰器:一种放在函数定义前面的指令,只允许已登录的用户访问。

      14.了解django.contrib.auth模块里有什么:

      15.报错__init__() missing 1 required positional argument: 'on_delete'的原因: 在django2.0后,定义外键和一对一关系的时候需要加on_delete=models.CASCADE(级联删除,避免关联错误)选项,此参 数为了避免两个表里的数据不一致问题,不然会报错

      16.重新定向或是固定定向到某页面:在settings.py文件设置:LOGIN_URL=’/users/login/’一般为登录页面

    第五、设置样式

    1. 熟悉应用程序django-bootstrap:
    2. Settings设置  BOOTSTRAP3 = {'include_jquery':True,}: 这样能让能够使用Bootstrap模板的一些交互式元素,无需手工下载jQuery并将其放到正确的地方。
    3. 使用jumbotron(超大屏样式)设置样式:
  • 相关阅读:
    多线程编程:阻塞、并发队列的使用总结
    为什么阿里的程序员那么帅?---原来他们都有"编码规约扫描"神器在手
    多线程编程:多线程并发制单的开发记录【一】
    如何使用线程锁来提高多线程并发效率
    如何在分布式环境中同步solr索引库和缓存信息
    前端性能优化指南
    DOM操作方法、属性
    CSS样式手册
    XSS跨站脚本攻击
    数组和对象的使用方法
  • 原文地址:https://www.cnblogs.com/qsj-python/p/13034058.html
Copyright © 2011-2022 走看看