「Django」学习之路,持续更改
一、setting设置
1、设置 局域网可以部署连接
ALLOWED_HOSTS = ['*.besttome.com','192.168.1.100']
2、static配置
STATIC_URL = '/static/' STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
3、后台中文配置
LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai'
4、数据库配置
详见https://www.cnblogs.com/wrxblog/p/10030741.html
5、session设置
# SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默认)
#
# SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
# SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)
# SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默认)
# SESSION_COOKIE_SECURE = False # 是否Https传输cookie(默认)
# SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
# SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)(默认)
# SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器使得Session过期(默认)
# SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存Session,默认修改之后才保存(默认)可设置不操作10秒后失效退出
二、model设置
1、choices 设置及显示
class User(models.Model):
nich = models.CharField(max_length=16,verbose_name='昵称')
yhm = models.CharField(max_length=32,verbose_name='用户名')
mima = models.CharField(verbose_name='密码',max_length=32)
youx = models.EmailField(verbose_name='邮箱')
bm_choice = (
(0,'信息科'),
(1, '农水科'),
(2, '灌溉科'),
(3, '财务科'),
)
bum = models.IntegerField(verbose_name='用户部门',choices=bm_choice,default=0)
shouj = models.IntegerField(verbose_name='手机号码')
toux = models.ImageField(verbose_name='用户头像',upload_to = "static/dist/img/")
shij = models.DateTimeField(verbose_name='注册时间',auto_now=True) class Meta:
verbose_name = '用户管理'
verbose_name_plural = verbose_name def __str__(self):
return self.yhm
html设置:
<small>部门:{{ yhxinx.get_bum_display }}</small>
三、admin设置
1、数据库操作添加到后台
from jfapp import models # Register your models here.
admin.site.register(models.User)
2、默认admin用户名及密码设置方式
pycharm自带的manage.py createsuperuser是不好使的
需用用终端输入命令python3 manage.py createsuperuser
四、数据库数据迁移
dumpdata和loaddata问题
1、建议dumpdata时候加上
dumpdata --exclude=contenttypes --exclude=auth.Permission > initial_data.json
有可能还会有下面的问题
再次导入时,提示:
File "D:\Program Files\Python\Python35.3\lib\site-packages\django\db\backends\
utils.py", line 65, in execute
return self.cursor.execute(sql, params)
sqlite3.IntegrityError: UNIQUE constraint failed: auth_user.username
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "D:\Program Files\Python\Python35.3\lib\site-packages\django\core\managem
ent\__init__.py", line 363, in execute_from_command_line
utility.execute()
......
File "D:\Program Files\Python\Python35.3\lib\site-packages\django\db\backends\
sqlite3\base.py", line 328, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: Problem installing fixture 'E:\workSpace\python\
horoscope_web\initial_data.json': Could not load auth.User(pk=4): UNIQUE constra
int failed: auth_user.username
删除"model": "auth.user"
后再次loaddata,提示:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "D:\Program Files\Python\Python35.3\lib\site-packages\django\core\managem
ent\__init__.py", line 363, in execute_from_command_line
utility.execute()
......
bad_row[1], referenced_table_name, referenced_column_name,
django.db.utils.IntegrityError: Problem installing fixtures: The row in table 'd
jango_admin_log' with primary key '3' has an invalid foreign key: django_admin_log.content_type_id contains a value '30' that does not have a corresponding value in django_content_type.id.
在 django_admin_log
表中找不到主键为3的记录。
删除json中"model": "admin.logentry"
的数据后,重试后成功导入。
记录例子:
{
"model": "admin.logentry",
"pk": 3,
"fields": {
"action_time": "2017-06-19T03:05:25.793Z",
"user": 4,
"content_type": 30,
"object_id": "1",
"object_repr": "Andrew-袁良锋",
"action_flag": 2,
"change_message": "[]"
}
},
{
"model": "admin.logentry",
"pk": 4,
"fields": {
"action_time": "2017-06-19T03:05:43.471Z",
"user": 4,
"content_type": 30,
"object_id": "1",
"object_repr": "Andrew-袁良锋",
"action_flag": 2,
"change_message": "[{\"changed\": {\"fields\": [\"fortunes_keyword\"]}}]"
}
}
如果不想手动更改json数据(如删除"model": "admin.logentry"数据)
,可使用分应用导出/导入:
导出app数据 python manage.py dumpdata {appname}>
导入app数据 python manage.py loaddata {appname}>
这样就只导入了应用数据,避免导入容易产生异常报错而无法正常的公共数据(如 user, auth等)。
2、其他问题
打开导出的JSON文件,有可能会有下面的问题
手动删除掉最上面一行,保存后加载成功
「Django」学习之路,持续更改的更多相关文章
- 「ExLucas」学习笔记
「ExLucas」学习笔记 前置芝士 中国剩余定理 \(CRT\) \(Lucas\) 定理 \(ExGCD\) 亿点点数学知识 给龙蝶打波广告 Lucas 定理 \(C^m_n = C^{m\% m ...
- 「Django」rest_framework学习系列-API访问跨域问题
#以中间件方式解决API数据访问跨域问题1.API下新建文件夹下写PY文件a.引入内置类继承: from django.middleware.common import MiddlewareMixin ...
- 「Django」rest_framework学习系列-序列化
序列化方式一 :在业务类里序列化数据库数据 class RolesView(APIView): def get(self,request,*args,**kwargs): roles = models ...
- 「Django」rest_framework学习系列-路由
自动生成4个url路由:from rest_framework import routersrouter = routers.DefaultRouter()router.register(r'wrx' ...
- 「Django」rest_framework学习系列-渲染器
渲染器:作用于页面,JSONRenderer只是JSON格式,BrowsableAPIRenderer有页面,.AdminRenderer页面以admin形式呈现(需要在请求地址后缀添加?fromat ...
- 「Django」rest_framework学习系列-分页
分页a.分页,看第N页,每页显示N条数据方式一:使用PageNumberPagination创建分页对象,配合settings全局配置 views设置 from rest_framework.pagi ...
- 「Django」rest_framework学习系列-视图
方式一 1.settings设置 INSTALLED_APPS = [ ... 'rest_framework', ] 2.views设置 from rest_framework.response i ...
- 「Django」rest_framework学习系列-解析器
满足两个要求,request.Post中才有值 1.请求头要求:请求头中的Content-Type为application/x-www-form-urlencoded 2.数据格式要求 name=x& ...
- 「Django」rest_framework学习系列-版本认证
1.自己写: class UserView(APIView): versioning_class = ParamVersion def get(self,request,*args,**kwargs) ...
随机推荐
- 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09
作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09 据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...
- javascript提高篇
本章简介 本章内容比较少,有三个分享的知识.你可能都看过了,因为网上也有很多提问和解答,如果没看过或者没搞懂,你可以再看看这篇文章. 1. 数组去重方法的演变 -- 走向代码缩短化 2. [] ...
- USACO 3.3.1 Riding the Fences 骑马修栅栏(欧拉回路)
Description 农民John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个一个栅栏.你必须编一个程 ...
- 团队Alpha冲刺(五)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- HDU 1754 I Hate It 线段树(单点更新,成段查询)
题目链接: hdu: http://acm.hdu.edu.cn/showproblem.php?pid=1754 题解: 单点更新,成段查询. 代码: #include<iostream> ...
- HDU 5207 Greatest Greatest Common Divisor
题目链接: hdu:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=153598 bc(中文):http://bestco ...
- lintcode-397-最长上升连续子序列
397-最长上升连续子序列 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列.(最长上升连续子序列可以定义为从右到左或从左到右的序列.) 注意事 ...
- Spark Shuffle之Hash Shuffle
源文件放在github,如有谬误之处,欢迎指正.原文链接https://github.com/jacksu/utils4s/blob/master/spark-knowledge/md/hash-sh ...
- jdbc 1.0
1. jdbc : java数据库连接技术 2.主要用到的类及接口 Class Driver ManagerDriver Connection Statement PreparedStatement ...
- TCP建立连接和断开连接过程
假设Client端发起中断连接请求,也就是发送FIN报文.Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着 ...