前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django基本操作命令大全

django基本操作命令大全

作者头像
py3study
发布2020-01-06 11:07:36
8120
发布2020-01-06 11:07:36
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制

# 在下载好的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})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档