zhangchen-sx

django 项目创建流程

 

1  创建项目
    cmd     django-admin startproject 项目名称
    pycharm   file -- new project -- Django -- 项目名字 -- 选择解释器 -- 输入app名称 -- 创建
2  启动项目
    cmd **
    切换到项目根目录下 manage.py
    python manage.py runserver             #127.0.0.1:8000
    python  manage.py runserver 80          # 127.0.0.1:80
    python  manage.py runserver 0.0.0.0:80    #  0.0.0.0:80
    pycharm **
    配置 点绿三角
3  urls.py  -- 地址和函数的对应关系
        from django.conf.urls import url
        from app01 import views

        urlpatterns = [
            url(r\'^login/\', views.login),
            url(r\'^index/\', views.index),
            url(r\'^test/\', views.test),
        ]
4  函数 def func(request):  接收一个参数 request 跟请求有关
    request.method 请求方式 GRT POST          类型字符串
    request.POST   form表单提交POST请求的数据   类型(类字典 Query DICT) {}   取值用get()不报错
    request.GET    url 上的参数                类型{同上}
  返回值
  from django.shortcuts import HttpResponse(str),render(页面),redirect(跳转页面)
        HttpResponse(\'显示的内容\')  --> str                     #HttpResponse(\'ok\')
        render (request,\'html文件名\')  -->  一个完整的html页面   #return render(request, \'index.html\')
            \'DIRS\': [os.path.join(BASE_DIR, \'temp\')]
        redirect(\'/要跳转的地址\')                  -->重定向    # return redirect(\'/pubs/\')
5  app 帮我们规范写法  可以多个app 功能分类
    创建app
        cmd     python manage.py startapp  app名称
        pycharm  tools ——》 run manage.py task ——》 startapp  app名称
    注册app
    settings.py -->
        INSTALLED_APPS = [
            \'app01\',
            \'app01.apps.App01Config\', #推荐
        ]
6   配置文件
    静态文件
        STATIC_URL = \'/static/\'  # 别名
    settings.py -->
        STATICFILES_DIRS = [
            os.path.join(BASE_DIR,\'static\'),
        ]

7 模板 TEMPLATES
    settings.py -->
        TEMPLATES
             \'DIRS\': [os.path.join(BASE_DIR, \'templates\')]

    中间件:
    注释掉 \'django.middleware.csrf.CsrfViewMiddleware\'  #取消一个Django  报警403界面改变

8 form 表单
    1. action=‘’(向当前地址提交)  method=\'post\'   action 提交的地址   method提交的方式(默认get)
    2. 所有的input标签要有name属性
    3. 要有一个type=submit input标签 或者  button按钮

9   get和post区别
        get获取一个页面  没有请求体
            提交数据 地址?k1=v1&k2=v2
            django如何获取  request.GET(\'\')
        post 提交数据  一般不可见 url不显示
            django 如何取值 request.POST(\'\')

 一个项目结构

*mydjango
  *app
        *migrations
        admin.py
        apps.py    里       from django.apps import AppConfig
                            class App01Config(AppConfig):
                                name = \'app01\'
        models.py  里       from django.db import models
                            class 类名(models.Model):
                                字段 = models.AutoField(约束)
                                字段 = models.CharField(约束)  varchar()
                                def __str__(self):
                                    return self.name
                            terminal 里
                                python manage.py makemigrations  # 保存models变更记录
                                python manage.py  migrate  # 把变更记录同步到数据库中
                   python manage.py migrate app01--fake  伪装检测
views.py 里 from django.shortcuts import render, redirect, HttpResponse from app01 import models def func(request): return ..... *mydjango __init__import pymysql pymysql.install_as_MySQLdb() settings 里 INSTALLED_APPS MIDDLEWARE(注释中间件) TEMPLATES (\'DIRS\': [os.path.join(BASE_DIR, \'templates\')]) DATABASES(数据库参数配置) STATIC_URL STATICFILES_DIRS = [os.path.join(BASE_DIR, \'static\')] urls 里 from app01 import views urlpatterns = [r\'^publisher/\', views.publisher ] *static *css *js ... *templates 模板.html ----前置* 说明此处是文件夹 ---

 

分类:

技术点:

相关文章: