专栏首页python3django基本操作命令大全

django基本操作命令大全

# 在下载好的django路径下执行django的安装 
# https://pypi.python.org/pypi/Django/1.6.4 
python3 setup.py install
# 
# 新建django项目 
django-admin.py startproject mysite 
# 
# 运行django项目 
python3 manage.py runserver [port] 
# 
# 创建一个app 
python3 manage.py startapp appname 
# 
# 模型定义特殊字段定义(后面一些Field被略去) 
# AutoFiled  SlugField SmallIntegerField #Date,DateTime,Decimal,Char,File,Float,FilePath,Text#,Time,Binary,Boolean,BigInterger,NullBoolean,Image,#Interger,OneToOne 
#PositiveSmallIntegerField, #PositiveIntergerField,Url,Email 
# 
# 创建一个model实体 
from django.db import models 
class Publisher(models.Model): 
    name = models.CharField(max_length=30) // 普通字段 
    website = models.URLField()   // url类型字段 
    email = models.EmailField()   // email类型字段 
    publication_date = models.DateField()   // 时间类型字段 
    publisher = models.ForeignKey(Publisher)   // 引用信息(外键) 
# 
# 模型检测 (需要在settings.py中注册此app) 
python3 manage.py validate 
# 
# 模型生成sql语句查看 
python3 manage.py sqlall modelname (app的名字) 
# 
# 模型生成到db 要生成用户之前必须做这一步 
python3 manage.py syncdb 
# 
# 建立管理超级员 
python manage.py createsuperuser 
# 
# 将model加入到admin管理列表中 在admin中 
from django.contrib import admin 
from books.models import Publisher, Author, Book 
admin.site.register(Author,AuthorAdmin) 
# 
# 附加管理视图 
from django.contrib import admin 
class BookAdmin(admin.ModelAdmin): 
    list_display = ('title', 'publisher', 'publication_date')   #显示列 
    list_filter = ('publication_date',)    # 列过滤条件 
    date_hierarchy = 'publication_date'   # 日期选择条件 
    ordering = ('-publication_date',)   # 列表日期降序排列 
    fields = ('title', 'authors', 'publisher')  # 编辑时显示需要添加的列   其他列   null=True 
    raw_id_fields = ('publisher',)  # 编辑时 显示为id序号 
# 
# 定义模板路径 
TEMPLATE_DIRS = ( 
    os.path.join(os.path.dirname(__file__), 'template').replace('\\','/'), 
    # /Users/King/Documents/Ops/Python/HelloDjango/HelloDjango 
    # /Users/King/Documents/Ops/Python/HelloDjango/HelloDjango/template 
) 
# 
# 进入项目命令行模型 
python manage.py shell 
    from django.contrib.auth.models import Publisher 
    p = Publisher.objects.create(name='Apress',website='www.apress.com') 
    Publisher.name = 'tuling'
    所有的model都拥有一个objects管理器 
    使用filter方法可以过滤obj    Publisher.objects.filter(name='usa') 
    模糊查询        Publisher.objects.filter(name__contains='usa') 
#    
    使用get方法可完成一个对象的获取,如果返回不止一个对象就会报错 Publisher.DoesNotExist 
    使用order_by 排序    可 - 倒排 
    p = Publisher.objects.filter(id=52).update(name='Apress Publishing') 
    p.delete()   删除对象 
    p.save() 
# 
# 导入静态文件 
在setting.py中 
    # 静态资源区域 
    # 这是一个根目录区域   对应实际文件目录 
    STATIC_ROOT = 'static/'
    # 这是url配置目录   给urls用的 
    STATIC_URL = 'static/'
在模板页面中 
    <link rel="stylesheet" href="` STATIC_URL `css/bootstrap.css"> 
    <script type="text/javascript" src="` STATIC_URL `js/bootstrap.js"></script> 
在urls.py的配置中 
    from django.conf.urls.static import static 
    在最后加入 
    admin.autodiscover() 
    urlpatterns = patterns('', 
        # Examples: 
        # url(r'^$', 'HelloDjango.views.home', name='home'), 
        # url(r'^blog/', include('blog.urls')), 
        url(r'^admin/', include(admin.site.urls)), 
        (r'^$', latest_books), 
    ) + (static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)) 
在views.py对应的输出视图中 
    return render_to_response('index.html', { 
        'book_list': book_list, 
        'STATIC_URL': STATIC_URL, 
    }) 
# 
# 其他解决方案 
配置文件中 
STATICFILES_DIRS = ( 
    '/Users/King/Documents/Ops/Python/HelloDjango/static', 
) 
# 
# 
# 一个app基本的设置 
# 
# 
import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 
ROOT_URLCONF = 'HelloDjango.urls'
SECRET_KEY = '&%s+d(0$motnksr+0o+oo8z9k=2h*7gd%gnnylrnc^w5#nut)h'
DEBUG = True 
TEMPLATE_DEBUG = True 
ALLOWED_HOSTS = [] 
MIDDLEWARE_CLASSES = ( 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 
WSGI_APPLICATION = 'HelloDjango.wsgi.application'
DATABASES = { 
    'default': { 
        'ENGINE': 'django.db.backends.sqlite3', 
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True 
USE_L10N = True 
USE_TZ = True 
# # Absolute filesystem path to the directory that will hold user-uploaded files. 
# # Example: "/home/media/media.lawrence.com/media/" 
# MEDIA_ROOT = '' 
# 
# # URL that handles the media served from MEDIA_ROOT. Make sure to use a 
# # trailing slash. 
# # Examples: "http://media.lawrence.com/media/", "http://example.com/media/" 
# MEDIA_URL = '' 
# BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 
# TEMPLATE_DIRS = ('templates',) 
# 静态资源区域 
# 这是一个根目录区域   对应实际文件目录 
STATIC_ROOT = 'static/'
# 这是url配置目录   给urls用的 
STATIC_URL = 'static/'
# STATICFILES_DIRS = ( 
# # Put strings here, like "/home/html/static" or "C:/www/django/static". 
# # Always use forward slashes, even on Windows. 
# # Don't forget to use absolute paths, not relative paths. 
# ) 
# STATICFILES_FINDERS = ( 
#     'django.contrib.staticfiles.finders.FileSystemFinder', 
#     'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
#     #    'django.contrib.staticfiles.finders.DefaultStorageFinder', 
# ) 
# 定义模板路径 
# List of callables that know how to import templates from various sources. 
# TEMPLATE_LOADERS = ( 
#     'django.template.loaders.filesystem.Loader', 
#     'django.template.loaders.app_directories.Loader', 
#     #     'django.template.loaders.eggs.Loader', 
# ) 
TEMPLATE_DIRS = ( 
    os.path.join(BASE_DIR, 'templates').replace('\\','/'), 
) 
INSTALLED_APPS = ( 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'app', 
) 
# LOGGING = { 
#     'version': 1, 
#     'disable_existing_loggers': False, 
#     'filters': { 
#         'require_debug_false': { 
#             '()': 'django.utils.log.RequireDebugFalse' 
#         } 
#     }, 
#     'handlers': { 
#         'mail_admins': { 
#             'level': 'ERROR', 
#             'filters': ['require_debug_false'], 
#             'class': 'django.utils.log.AdminEmailHandler' 
#         } 
#     }, 
#     'loggers': { 
#         'django.request': { 
#             'handlers': ['mail_admins'], 
#             'level': 'ERROR', 
#             'propagate': True, 
#             }, 
#         } 
# } 
Django框架中的基本交互
12345678910111213141516 # 服务器端展示数据 
from django.shortcuts import render_to_response 
def search(request): 
    return render_to_response('search.html', {'books':books,}) 
# 
# search.html的数据渲染 , 利用模板 
{% if books %} 
    <ul> 
    发现 {{ books | length }} 本书 
    {% for book in books %} 
        <li>` book`.`title `</li> 
    {% endfor %} 
    </ul> 
{% else %} 
    <p>没有查询到任何图书信息</p> 
{% endif %} 
12345678910111213141516171819202122232425 # 客户端提交数据 search_form.html 
<html><head> 
<title>Search</title></head> 
<body> 
{% if error %} 
<p style="color:red;">请输入查询条件</p> 
{% endif %} 
<form action="/search_form/" method="get">     
<input type="text" name="q">     
<input type="submit" value="Search"> 
</form> 
</body> 
</html> 
# 
# 收集客户端信息 
# from django.http import HttpResponse 
# request.path()   get_host()   get_full_path()   get_isecure() 
# request.META[]   包含http头信息 
def search_form(request): 
    if 'q' in request.GET and request.GET['q']: 
        q = request.GET['q'] 
        books = Book.objects.filter(title__icontains=q) 
        return render_to_response('search_result.html', {'books':books,'query':q}) 
    else: 
        return render_to_response('search.html', {'error': True})

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • OAuth2.0 social_djan

    social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块

    py3study
  • python3+django2开发一个简

    python3 -m pip install  django    #因为本地安装了python2.7 和python3.6  2个版本,所以python3.6...

    py3study
  • Django的下载安装以及实现一个简单示

        pip3 install django==1.11.9    (大的版本1.11不要错)

    py3study
  • Django学习_简易博客(一)

    zx钟
  • 1000个常用的Python库和示例代码

    下面是programcreek通过分析大量开源代码,提取出的最常用的python库。

    用户4962466
  • django基础

    小小咸鱼YwY
  • 【Django新人必看】Django安装及搭建开发环境实战细解

    开笔有话说 接触django有一段时间了,发现国内网站上的django学习资料,虽然有不少,但大多有老旧的通病,所基于的版本简直是太旧了,就拿《the djan...

    小小科
  • Django环境搭建

    在学习python语言的过程中,不得不学习django,理由很简单的,就是django有一个很优秀的框架,特别是它提供了一个admin的后台,这样在不浪费什么精...

    无涯WuYa
  • Django基础系列2[安装]

    原文链接:http://www.jianshu.com/p/be84dfcb76dc

    周小董
  • 测试同学动手搭个简易web开发项目

    node.js, vue.js, axios, python, django, orm, restful api, djangorestframework, m...

    测试老树

扫码关注云+社区

领取腾讯云代金券