我正在关注Django 1.3 Web开发.并且对于登录,我收到以下错误
Forbidden (403)
CSRF verification failed. Request aborted.
Help
Reason given for failure:
CSRF token missing or incorrect.
Run Code Online (Sandbox Code Playgroud)
这是我的settings.py包含的APPS.这本书应该是这样说的.
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'djangocricket.Cricket',
'djangocricket.cms'
)
Run Code Online (Sandbox Code Playgroud)
这本书说,它应该包含,django.contrib.auth.views.login ..我把它包括在内
urlpatterns = patterns('',
# Examples:
url(r'^$', 'djangocricket.Cricket.views.index', name='default'),
url(r'^user/(\w+)/$', 'djangocricket.Cricket.views.user_home', name='user home'),
url(r'^login/$', 'django.contrib.auth.views.login'),
# url(r'^djangocricket/', include('djangocricket.foo.urls')),
# Uncomment the admin/doc line below to …Run Code Online (Sandbox Code Playgroud) 这个问题与PyCharm有关.
我如何更改变量中的值
__author__ = 'my login name'
Run Code Online (Sandbox Code Playgroud)
它需要我的shell用户变量.我可以在任何地方改变它吗?
我有一个像这样的角度资源
app.factory('User', function ($resource) {
return $resource(
'/api/user/:listCtrl:id/:docCtrl/', {
id: '@id',
listCtrl: '@listCtrl',
docCtrl: '@docCtrl'
}, {
update: {
method: 'PUT'
},
current: {
method: 'GET',
params: {
listCtrl: 'current'
}
},
nearby: {
method: 'GET',
params: {
docCtrl: 'nearby'
},
isArray: true
}
}
);
});
Run Code Online (Sandbox Code Playgroud)
现在我想在视图中有全名,我可以添加一个方法,这样当我这样做
$scope.user = User().current();
Run Code Online (Sandbox Code Playgroud)
而不是在HTML中执行以下操作
<p>{{ user.first_name }} {{ user.last_name }}</p>
Run Code Online (Sandbox Code Playgroud)
我这样做
<p>{{ user.get_full_name }}</p>
Run Code Online (Sandbox Code Playgroud)
有没有办法将此属性添加到$resource?
我正如示例所述
这是我的方法
class FeedViewSet(viewsets.ModelViewSet):
model = Feed
serializer_class = FullFeedSerializer
def get_queryset(self):
user = request.user
queryset = Feed.objects.get_nearby(user)
return queryset
Run Code Online (Sandbox Code Playgroud)
当我执行它时,它表示请求未定义..实际上并非如此.其余框架的网站上的示例也没有定义请求.我究竟做错了什么?
来自http://docs.angularjs.org/api/ng.$ http,它说我们应该设置默认标头以包含令牌,所以我跟着它.
我的代码就是这样的
var myapp = angular.module('myapp', ['ngCookies', 'ui.bootstrap']).
config(['$routeProvider', function($routeProvider, $httpProvider, $cookies){
$routeProvider.
when('/', {
templateUrl: '/partials/home.html',
controller: HomeCtrl
}).
when('/game/:gameId/shortlist/create',{
templateUrl: '/partials/create-shortlist.html',
controller: CreateShortlistCtrl
}).
otherwise({redirectTo: '/'});
}]);
myapp.run(function($rootScope, $http, $cookies, $httpProvider){
$http.get('/api/get-current-user').success(function(data){
$rootScope.current_user = data;
$rootScope.current_team = $rootScope.current_user.team;
});
$http.get('/api/get-current-season').success(function(data){
$rootScope.current_season = data;
});
$rootScope.csrf_token = $cookies.csrftoken;
console.log($httpProvider.defaults.headers.common);
//$httpProvider.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
});
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我已经应用了多种方法,但无法使用csrf标记设置标头.我遇到的两个错误是
未捕获错误:未知提供者:$ httpProviderProvider < - $ httpProvider
我究竟做错了什么?
我一直在挠头FileField.FileField是否需要单独的进程?
虽然我的网址被保存..但我的文件没有上传...我做错了什么?
这是我的models.py ...
class OpLink(models.Model):
user = models.ForeignKey(User)
file = models.FileField(blank=True, null=True, upload_to="uploads")
url = models.URLField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
我的forms.py
class OpLinkForm(ModelForm):
class Meta:
model = OpLink
exclude = ('user')
Run Code Online (Sandbox Code Playgroud)
我的views.py
oplinkform = oplinkform(request.POST)
oplink = oplinkform.save(commit=False)
oplink.user = user
oplink.save()
Run Code Online (Sandbox Code Playgroud)
和我的HTML来处理它.
<div class="span5">
{{ oplinkform.url|add_class:"span4"|attr:"Placeholder:URL for the item" }}
<br><h4>OR</h4><br>
{{ oplinkform.file|add_class:"input-file" }}
<br />
<input class='btn btn-primary btn-large' type="submit" value='Post' name='action'>
</div>
Run Code Online (Sandbox Code Playgroud) 我只想在特定的比赛中展示与球队相关的球员.通常当我这样做时,它会向我显示数据库中的所有玩家.这是我的models.py
class InningsCard(models.Model):
fixture = models.ForeignKey(Fixture)
team = models.ForeignKey(Team)
runs = models.IntegerField(max_length=6, default=0)
wickets = models.IntegerField(max_length=6, default=0)
overs = models.FloatField(max_length=6, default=0.0)
def __unicode__(self):
return str(self.team)
class BattingDetail(models.Model):
STATUS_CHOICES = (
('no', 'not out'),
('bowled', 'bowled'),
('caught', 'caught'),
('lbw', 'lbw'),
)
innings = models.ForeignKey(InningsCard)
player = models.ForeignKey(Player)
runs = models.IntegerField(max_length=5, default=0)
status = models.CharField(max_length=15, choices=STATUS_CHOICES, default='no')
def __unicode__(self):
return str(self.player)
Run Code Online (Sandbox Code Playgroud)
现在,这是我的admin.py包含formfield_for_foreignkey,但它不起作用.
class BattingInline(admin.TabularInline):
model = BattingDetail
extra = 0
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
if db_field.name == 'player':
kwargs = Player.objects.filter(team …Run Code Online (Sandbox Code Playgroud) 哦,我正在使用此代码来检测浏览器
<%= Request.Browser.Browser %>
Run Code Online (Sandbox Code Playgroud)
使用chrome时,它给了我浏览器
AppleMAC,Safari浏览器
我需要它说铬,Ater环顾四周,我发现了这一点
我做了问题答案中给出的所有内容,但这没有用.
我正在使用VS 2010并使用.net framework 3.5
谢谢.
编辑:我尝试过做这个页面上的建议
http://www.codemonkeez.com/2010/06/detect-google-chrome-browser-with.html
它还在给我
AppleMAC,Safari浏览器
:/
再次感谢.
我在使用django-allauth时遇到了麻烦.我收到了这个错误.
NoReverseMatch at/accounts/login /反向'facebook_channel',参数'()'和关键字参数'{}'未找到.
到目前为止,我已经遵循了所有内容.
这是我的settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'app',
'uni_form',
'emailconfirmation',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.twitter',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.request",
"allauth.context_processors.allauth",
"allauth.account.context_processors.account",
"django.contrib.auth.context_processors.auth",
)
AUTHENTICATION_BACKENDS = (
"allauth.account.auth_backends.AuthenticationBackend",
)
Run Code Online (Sandbox Code Playgroud)
我也从allauth提供的管理模块中添加了facebook secret和app id.
期待快速回复.
这是我的代码
from League.models import Leagues
from League.models import Team
from django.contrib import admin
class TeamsInLeague(admin.StackedInline):
model = Team
extra = 1
class LeagueAdmin(admin.ModelAdmin):
fields = ['LeagueName']
inlines = TeamsInLeague
admin.site.register(Leagues,LeagueAdmin)
Run Code Online (Sandbox Code Playgroud)
它给了我错误
'LeagueAdmin.inlines'必须是列表或元组.
当我删除"inlines = TeamsInLeague"时,它工作正常
我正在按照教程,而不是单词,但试图解决我自己的问题
谢谢.
django ×6
django-admin ×3
angularjs ×2
django-views ×2
asp.net ×1
c# ×1
csrf ×1
django-forms ×1
javascript ×1
pycharm ×1
python ×1