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.

  • 相关阅读:
    腾讯微博模拟登录
    python 列表复制给另一个列表,改值两个列表均会改变(备忘)
    python3 re.compile中含有变量
    python3 pyinstaller生成exe文件过程问题解决记录
    python3 不知文件编码情况下打开文件代码记录
    python TKinter部分记录
    python3 列表去除重复项保留原序
    python 字典排序
    python 字典中 重复值去除
    python 一些方法函数
  • 原文地址:https://www.cnblogs.com/feiyu_Team/p/6654214.html
Copyright © 2011-2022 走看看