被解放的姜戈 学习笔记

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系统

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容