美文网首页
被解放的姜戈 学习笔记

被解放的姜戈 学习笔记

作者: 无名氏_1 | 来源:发表于2015-10-01 22:29 被阅读117次

    day 1

    安装django
    sudo pip install django


    创建一个项目
    django-admin.py startproject myProject


    启动服务器
    python manage.py runserver 8000


    创建一个app
    python manage.py startapp app1

    day2

    同步数据库
    python manage.py syncdb


    以root用户登录mysql
    mysql -u root -p


    在mysql中创建Django 项目的数据库
    create database jangodb default charset=utf8;


    在mysql中为Django 项目创建独立用户 并授予相关权限
    grant select, insert, update, delete, create, drop , index, alter, create temporary tables, lock tables on jangodb.* to 'user'@'localhost' identified by 'password';


    在setting.py中配置数据库账号信息
    <code>
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'jangodb',
    'USER': 'user',
    'PASSWORD': 'password',
    'HOST':'localhost',
    'PORT':'3306',
    }
    }
    </code>

    day3

    配置模版搜索路径
    打开settings.py
    将系统默认模版注释掉 新加入
    TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, '模版路径'), //相对于根目录
    )


    使用模版 在views.py 中
    from django.shortcuts import render
    def templay(request):
    context = {}
    context['label'] = 'Hello World!'
    return render(request, 'templay.html', context)
    //以上代码 会去找模版路径下的templay.html文件 并将label 变量替换为 Hello World!


    常用的模版标签
    被 {{}} 包围的是变量 ,被{%%}包围的是块标签
    块标签里边可以包含 for 或 if else 语句
    eg.
    {% for item in item_list %}
    {{item}}
    {% endfor %}
    {% if %}
    {% elseif %}
    {% endif %}


    模版的继承
    {% extend 父级模版 %}

    day4

    get 和 post
    获取到request 后 可以 通过 GET 或 POST获取数据
    get :
    <code>def investigate(request):
    rlt = request.GET['staff']
    return HttpResponse(rlt)</code>
    post:
    <code>def investigate(request):
    ctx ={}
    ctx.update(csrf(request))
    if request.POST:
    ctx['rlt'] = request.POST['staff']
    return render(request, "investigate.html", ctx)</code>


    将收到的数据存储到数据库
    <code>submitted = request.POST['staff']
    new_record = Character(name = submitted)
    new_record.save()</code>

    day5

    django 提供了一个默认的可以管理数据库的app (django.contrib.admin)
    在myside/setting.py 中的Installed_apps可以找到
    访问127.0.0.1:8000/admin 可以访问到这个界面
    用户名密码 可以通过
    <code>python mange.py createsuperuser </code>
    来创建一个超级用户登录进去来管理数据


    为了让admin 来管理这个界面 需要将模型注册到admin
    在admin.py 中导入 模型类
    <code>from site.models import model1</code>
    将模型数据注册到admin
    <code>admin.site.register(model1)</code>
    如果有多个模型 可以这样写
    <code>admin.site.register([model1,model2])</code>


    自定义界面
    比如对某个属性a 进行管理 可以造一个aAdmin 类 并将他们一起注册
    <code>class aAdmin:(admin.ModelAdmin):
    fields = ('property1', 'property2')
    admin.site.register(a, aAdmin)
    </code>
    搜索
    在aAdmin 类中加入一句
    <code>search_fields = ('name's)</code>

    day6

    continue

    参考资料被解放的姜戈 Django模版系统
    Django-admin系统

    相关文章

      网友评论

          本文标题:被解放的姜戈 学习笔记

          本文链接:https://www.haomeiwen.com/subject/pctmcttx.html