zoukankan      html  css  js  c++  java
  • Djongo

    1.安装Djongo

    pip install Django==2.1

    注:Django 2.1支持Python 3.5及以后版本。

    • 查看已安装的Django的版本:
    py -m django --version

    安装完之后:python安装目录下会出现Djongo相关的文件:

    其中:djongo-admin.exe的功能是创建文件,

    2. 创建Django 工程(命令行创建)

    • 在命令行界面使用cd命令:

              win+R-------cmd-------:

              cd C:UsersThinkAppDataLocalProgramsPythonPython37-32Scripts(链接到当前文件夹)

                 查看文件夹目录:

                 C:UsersThinkAppDataLocalProgramsPythonPython37-32Scripts>dir

                  

    •     接着在命令行界面输入:

                  django-admin.exe startproject mysite 

                   其中: mysite是【工程名称 】           

               

              执行完该命令会在当前目录下生成一个名为"mysite"的文件夹:

               

    • mysite文件夹中包含:

                          

                            

                                   可在命令行界面运行manage.py:

     

                           

        运行结果:

    在网址中输入:127.0.0.1:8000   显示:

    至此,Django程序创建成功了。

    当把django-admin.exe添加到环境变量中,在可以在任意位置创建Django 程序。

    3.Django 目录详解

    在pycharm中open  : "mysite"文件夹:目录如下:

    • mysite                         
      • mysite                 #对整个程序进行配置
        • init            #
        • settings    #配置文件
        • url            #url对应关系
        • wsgi         #遵循WSGI规范    ,创建socket   python自带的;uwsgi + nginx第三方的模块,一般使用第三方的模块。
      • manage.py         #管理Django程序:
                • python manage.py
                • python manage.py startapp xx
                • python manage.py makemigrations
                • python manage.py migrate

    4. 创建Django工程(pycharm中创建)

    • file--->new project

     在pycharm中建立的Django工程,运行的时候必须选择整个项目,运行manage.py是不行的:

    创建Django 工程的时候,尽可能在干净的目录下创建,不然文件夹多的情况下,import文件的时候会出现红色的波浪线,是pycharm的功能显示,程序本身是没有错误的,也不影响运行,影响美观而已(保持良好的代码风格):

    5.创建APP

    • 当创建完Django 工程之后,可在其中创建所需的 APP ,比如:
      • 主站app
      • 后台管理app
    •   命令:
    python manage.py startapp lai

    创建完app之后,文件目录如下:

    • migrations: 数据修改表结构;(记录数据库操作,只针对表结构的操作)
    • admin :       Django 为我们提供的后台管理;
    • apps :         配置当app;
    • models:      ORM,写指定的类,  通过命令可以创建数据库结构;
    • tests:       单元测试;
    • views:      业务代码,
    • __init__:  在python3.x 中可有可无,在python2.x 中必须要有。

    6.Django 路由介绍

    demo1: Django 实现用户登录

    • views中编写业务代码:

    # Create your views here.
    from django.shortcuts import HttpResponse
    from django.shortcuts import render
    
    def home(request):
        return HttpResponse('<h1>xiaolaizi<h1>')
    
    def login(request):
        # string = """
        # <form>
        #     <input type='text' />
        # </form>
        # """
    
        f = open('templates/login_html.html', 'r', encoding='utf-8')
        data = f.read()
        f.close()
        return HttpResponse(data)
        # 上面四行代码可用下面一行代码搞定,要引用django中的render,from django.shortcuts import render
        # return render(request, 'login_html.html')
    View Code
    • 创建表单(html文件):

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form>
            <p>
                <label for="username">用户名:</label>
                <input id="username" type="text">
            </p>
            <p>
                <label for="passward">密码:</label>
                <input id="passward" type="text">
                <input type="submit" value="提交">
            </p>
        </form>
    </body>
    </html>
    •  配置

    •  配置模板的路径:

    在settings中:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')]
            ,
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    

      

          

    中:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/commons.css">
    </head>
    <body>
        <form>
            <p>
                <label for="username">用户名:</label>
                <input id="username" type="text">
            </p>
            <p>
                <label for="passward">密码:</label>
                <input id="passward" type="text">
                <input type="submit" value="提交">
            </p>
        </form>
        <script src="/static/jquery-1.12.4.js"></script>
    </body>
    </html>
    View Code

      

    •     配置静态目录

          在settings.py中:

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

      

    • 在Terminal中执行manage.py文件:

    python manage.py runserver
    

      

    •  在浏览器中输入

    • 结果显示

    接下来:

    • 用户登录与前端交互:

          

    错误及解决方法:

    1.跨站请求伪造

    解决:

  • 相关阅读:
    git上传本地项目
    第十一章 持有对象
    java 闭包与回调
    类名.class 类名.this 详解
    匿名内部类
    第十章 内部类
    Java简单调用Zookeeper服务
    Linux下ZooKeeper集群安装
    Linux自动化安装JDK
    linux下初步实现Keepalived+Nginx高可用
  • 原文地址:https://www.cnblogs.com/bltstop/p/11173269.html
Copyright © 2011-2022 走看看