zoukankan      html  css  js  c++  java
  • django基本操作


    一、创建project
    先进入自己指定的目录
    django-admin startproject demo_django

    demo_django
    - demo_django (配置文件)
    - manage.py (管理Project)
    - app(cmdb)
    - models.py 数据库操作
    - admin.py 配置Django自带的后台管理
    - apps.py 当前app的配置
    - tests.py 单元测试
    - views.py 做业务处理...
    >>>运行
    cd demo_django
    python3 manage.py runserver 127.0.0.1:8000


    二、创建app
    cd demo_django
    python3 manage.py startapp cmdb
    python3 manage.py startapp monitor
    1、创建工程并运行
    Django-admin manager.py startserver project_name
    python manage.py runserver 127.0.0.1:8000
    2、创建应用
    python manage.py startapp app_name
    3、修改工程配置文件,配置html文件的路径
    修改:'DIRS': [os.path.join(BASE_DIR, 'templates')],其中BASE_DIR为工程目录的路径
    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',
    ],
    },
    },
    ]
    4、添加静态文件路径及修改匹配规则
    修改settings.py文件,添加STATICFILES_DIRS,如下:
    STATICFILES_DIRS = (
    os.path.join(BASE_DIR,"/static/"),
    )
    修改settings.py文件,添加APPEND_SLASH,如下:
    APPEND_SLASH=False

    5、配置应用页面映射关系
    修改工程下的utls.py文件
    from cmdb import views #选择应用并导入业务处理模块
    #url(r'^index/', views.index)指定
    urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    # url(r'^index/', admin.site.urls),
    url(r'^index/', views.index),
    ]
    6、修改应用业务处理模块,添加映射关系中的函数
    from django.shortcuts import render
    from django.shortcuts import HttpResponse

    # Create your views here.

    def index(resquest):
    print("get>>>:",resquest.GET)
    # return HttpResponse("OK")
    return render(resquest,"index.html")
    7、注册app
    setttings.py文件的INSTALLED_APPS字段中添加"app01",指定选择某一个app进行创建数据库表
    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01',
    ]
    注意:
    (1)、django默认使用mysqldb模块创建表,py3不支持,修改为pymysql
    修改project下的init.py,加入如下字段
    import pymysql
    pymysql.install_as_MySQLdb()
    (2)、使用mysql数据库时需要先手动创建库,settings.py中修改数据库引擎,如下
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'app',
    'USER':'root',
    'PASSWORD':'python',
    'HOST':'192.168.12.81',
    'PORT':'3306',
    }
    }
    8、创建表
    (1)在app01的models.py中添加类,即表示要创建含有四个字段的名为“userinfo”的表
    class UserInfo(models.Model):
    uid = models.AutoField(primary_key=True)
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=32)
    age = models.IntegerField()
    (2) 命令1:python manage.py makemigrations
    Migrations for 'app01':
    app01migrations001_initial.py:
    - Create model UserInfo
    命令2:python manage.py migrate
    Operations to perform:
    Apply all migrations: admin, app01, auth, contenttypes, sessions
    Running migrations:
    Applying contenttypes.0001_initial... OK
    Applying auth.0001_initial... OK
    Applying admin.0001_initial... OK
    Applying admin.0002_logentry_remove_auto_add... OK
    Applying app01.0001_initial... OK
    Applying contenttypes.0002_remove_content_type_name... OK
    Applying auth.0002_alter_permission_name_max_length... OK
    Applying auth.0003_alter_user_email_max_length... OK
    Applying auth.0004_alter_user_username_opts... OK
    Applying auth.0005_alter_user_last_login_null... OK
    Applying auth.0006_require_contenttypes_0002... OK
    Applying auth.0007_alter_validators_add_error_messages... OK
    Applying auth.0008_alter_user_username_max_length... OK
    Applying sessions.0001_initial... OK
    9、获取表中的数据
    from app01 import models
    server_list = models.UserInfo.objects.all() ##获取userinfo表的所有数据
    for i in server_list:
    print(i.uid,i.username,i.password,i.age)

    修改前台页面-->修改映射-->修改视图-->添加中间页面

    提交报错:URL doesn'tend in a slash and you have APPEND_SLASH set.
    建议修改settings.py追加:APPEND_SLASH=False
    或者指定映射的开始和结束:
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^user$', views.user),
    url(r'^add_user$', views.add_user),
    url(r'^del_user$', views.del_user),
    url(r'^edit_user$', views.edit_user),
    url(r'^new_edit_user/(?P<nnid>d+)$', views.new_edit_user),
    ]
    Change your form to point to 127.0.0.1:8000/user/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.

  • 相关阅读:
    lr 增强窗格中,如何生成调试信息?
    lr 自带的例子,如何进行关联,通过代码的函数进行实现
    lr11 录制脚本时候,无法自动启动ie,查了网上很多方法都未解决?
    loadrunner11 录制脚步不成功,在录制概要出现“No Events were detected”,浮动窗口总是显示“0 Events”,解决办法
    loadrunner11 安装及破解教程来自百度文库
    安装loadrunner11 ,出现如下错误如何解决?
    回收站数据删除了,如何进行恢复?
    网管工作方面——————打印机删除了然后开机重启他依然存在,如何解决
    Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126
    Sorry, the page you are looking for is currently unavailable. Please try again later. Nginx
  • 原文地址:https://www.cnblogs.com/feiyu_Team/p/6654214.html
Copyright © 2011-2022 走看看