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(超大屏样式)设置样式:
  • 相关阅读:
    软考之操作系统
    牛腩javascript(二)之正则表达式
    牛腩javascript(一)
    软考之算法
    软考之数据结构
    软考之路之刷屏开始
    XML中的几种比较
    北大青鸟ASP.NET之总结篇
    Webassembly 学习2 -- Js 与C 数据交互
    nginx-proxy_redirect
  • 原文地址:https://www.cnblogs.com/qsj-python/p/13034058.html
Copyright © 2011-2022 走看看