小编use*_*605的帖子

Python的权威"寻找我的地理定位"解决方案

所以我一直在网上寻找一个Python库,它会返回你确切的当前位置,并发现没有任何可用的东西,除非你通过你的IP地址找到你的位置的廉价和不准确的方法,我已经在我的移动热点上进行了测试,并且距离100英里.

我有另一个解决方案,但它需要将JavaScript与Python混合,我需要帮助,我只在Python/Django上工作了几天.

由于Python是服务器端,我无法找到任何可以精确定位您的精确经度和纬度的库.但是使用客户端JavaScript,这非常简单,无需任何库:

http://jsfiddle.net/3bERp/1/

所以我想知道是否有任何Python程序员在那里有更多的经验,可以在这里解释如何运行上面的javascript代码,并将javascript输出作为Python字符串返回:

    python
    >>>javascriptOutput = runJavaScript("<script> function showPosition(position) </script>")
    >>>print javascriptOutput
    <p id="long">-122.15563439999998</p> <p id="lat">37.4458668</p>
    >>>
Run Code Online (Sandbox Code Playgroud)

所以我的想法是在我在单个python函数中提供的JSfiddle URL中运行整个HTML块,它将返回JSfiddle提供的相同结果.

有了这个结果,我可以将它存储在一个python变量中并对它进行一些字符串连接,最终存储我准确的客户端经度和纬度坐标.

那么可以在Python函数中运行一些JavaScript吗?

要么

您可以使用Python/Django以某种方式读取用户在运行javascript/HTML5地理位置后看到的HTML源吗?

我现在越想到这一点,我就越开始认为Javascript将需要AJAX到Django服务器......

python django

9
推荐指数
1
解决办法
1296
查看次数

Django内置密码重置,我的网址有什么问题?

每个人似乎都指向本指南,以便轻松插入密码重置:http: //garmoncheg.blogspot.com.au/2012/07/django-resetting-passwords-with.html

所以从我读过的内容来看,如果你希望它能够运行,那么网址就是你所需要的4个url定义:

urlpatterns = patterns('',
 . . . 
    url(r'^user/password/reset/$', 'django.contrib.auth.views.password_reset', {'post_reset_redirect' : '/user/password/reset/done/'}, name="password_reset"),
        (r'^user/password/reset/done/$', 'django.contrib.auth.views.password_reset_done'),
        (r'^user/password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', {'post_reset_redirect' : '/user/password/done/'}),
        (r'^user/password/done/$', 'django.contrib.auth.views.password_reset_complete'),
 . . .
)
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,因为我仍然臭名昭着

NoReverseMatch at/user/password/reset /

有了这个:

Reverse for 'password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb64': 'NA', u'token': u'3ps-749165b2b39d4168f97f'}' not found. 1 pattern(s) tried: ['user/password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$']
Run Code Online (Sandbox Code Playgroud)

指南中是否有某些东西已经折旧我将链接放在顶部?我应该将任何内容导入urls.py文件吗?

django

5
推荐指数
1
解决办法
461
查看次数

金字塔登录和注销页面返回404,应用程序的其余部分工作正常

我是金字塔的新手,我正在遵循这个指南:http: //docs.pylonsproject.org/projects/pyramid/en/latest/tutorials/wiki2/authorization.html

在Django中,视图和URL工作或者崩溃了,但是我从来没有遇到过在views.py和urls.py中明确定义的网页会出现404错误的情况,这种情况从未发生在我身上.如果其中任何一个出现问题,它都会崩溃,而不会抛出404.

我正在构建一个维基页面以获取金字塔上的东西,但在我继续学习本教程之前,我已经碰壁了.

我的init .py文件设置如下:

def main(global_config, **settings):

    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine

    authn_policy = AuthTktAuthenticationPolicy(
        'sosecret', callback=groupfinder, hashalg='sha512')
    authz_policy = ACLAuthorizationPolicy()

    config = Configurator(settings=settings,
                          root_factory='tutorial.models.RootFactory')

    config.set_authentication_policy(authn_policy)
    config.set_authorization_policy(authz_policy)

    config.include('pyramid_chameleon')
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.add_route('view_wiki', '/')
    config.add_route('view_page', '/{pagename}')
    config.add_route('add_page', '/add_page/{pagename}')
    config.add_route('edit_page', '/{pagename}/edit_page')
    config.add_route('login', '/login')
    config.add_route('logout', '/logout')

    config.scan()
    return config.make_wsgi_app()
Run Code Online (Sandbox Code Playgroud)

我的views.py文件设置如下:

@view_config(route_name='login', renderer='templates/login.pt')
@forbidden_view_config(renderer='templates/login.pt')
def login(request):
    login_url = request.route_url('login')
    referrer = request.url
    if referrer == login_url:
        referrer = '/' # never use the login form itself …
Run Code Online (Sandbox Code Playgroud)

python pyramid

5
推荐指数
1
解决办法
622
查看次数

在models.py文件中获取当前登录的Django用户?

我正在尝试制作一个存储有关文章基本信息的模型,同时存储当前登录用户的名称,这可能吗?或者是需要在views.py文件中完成的事情.

这是我的代码:

from django.db import models
from time import time

from django.contrib.auth.models import User


def get_upload_file_name(instance, filename):
    return "uploaded_files/%s_%s" % (str(time()).replace('.','_'), filename)


# Create your models here.
class Article(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(User.get_username()) #AUTOMATICALLY STORE USERNAME
    body = models.TextField()
    pub_date = models.DateTimeField(auto_now=True)
    likes = models.IntegerField(default=0)
    thumbnail = models.FileField(upload_to=get_upload_file_name)

    def __unicode__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

这是处理views.py中的Article模型的函数:

def create(request):
    if request.POST:
        form = ArticleForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()

            return HttpResponseRedirect('/articles/all')

    else:
        form = ArticleForm()

    args = {}
    args.update(csrf(request))

    args['form'] = form 

    return …
Run Code Online (Sandbox Code Playgroud)

python django

4
推荐指数
1
解决办法
7856
查看次数

Django flatpages不起作用

我正在阅读并阅读"实用Django项目:第二版"这本书,很多书已经过时了,整个章节根本不起作用.现在我正在尝试创建我的第一个平面页面,我收到404错误.

我正在尝试使用内置的'django.contrib.flatpages'应用程序,我已经通过管理面板创建了我的第一个平面页面:

在此输入图像描述

这是我的urls.py文件:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',


    url(r'^admin/', include(admin.site.urls)),
    (r'', include('django.contrib.flatpages.urls')) #ADDED THIS LINE FOR FLATPAGES
)
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止对settings.py文件所做的事情:

SITE_ID = 1 # REQUIRED FOR 'django.contrib.flatpages'


INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django.contrib.flatpages', # ADDED FOR FLATPAGES
    'south',
)

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',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', #FOR FLATPAGES
)
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所做的所有事情,我希望在导航到这本书的时候可以在"/ first-page /"上找到"TemplateDoesNotExist":http://example.com:1006/first-page /

但不是那样,我只是得到404错误.

我是正确地做了这个还是新的Django版本贬低了制作flatpages的方式?

python django

4
推荐指数
1
解决办法
2117
查看次数

如何在Objective-C中迭代一个简单的JSON对象?

我是Objective-C的新手,我是一名核心的Java和Python老手.

我创建了一个Objective-C脚本来调用URL并获取URL返回的JSON对象:

// Prepare the link that is going to be used on the GET request
NSURL * url = [[NSURL alloc] initWithString:@"http://domfa.de/google_nice/-122x1561692/37x4451198/"];

// Prepare the request object
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
                                            cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                        timeoutInterval:30];

// Prepare the variables for the JSON response
NSData *urlData;
NSURLResponse *response;
NSError *error;

// Make synchronous request
urlData = [NSURLConnection sendSynchronousRequest:urlRequest
                                returningResponse:&response
                                            error:&error];

// Construct a Array around the Data from the response
NSArray* object = [NSJSONSerialization
                   JSONObjectWithData:urlData
                   options:0
                   error:&error];


//NSLog(object);
// Iterate through …
Run Code Online (Sandbox Code Playgroud)

json objective-c nsjsonserialization

3
推荐指数
1
解决办法
2371
查看次数

如何用较少的冗余/复制粘贴来编写它?

我通常不会以最好的方式编写我的Python代码,因为我对它比较新,有人要求我对Django应用程序进行更改,因为代码看起来不太好.

这是它的样子:

@login_required
def submission_set_rank(request):   

    r1_obj_id = request.GET.get('rank1','')
    r2_obj_id = request.GET.get('rank2','')
    r3_obj_id = request.GET.get('rank3','')
    r4_obj_id = request.GET.get('rank4','')
    r5_obj_id = request.GET.get('rank5','')

    #rate the first BallotStats object
    ballot_1 = BallotStats.objects.get(object_id=r1_obj_id)
    ballot_2 = BallotStats.objects.get(object_id=r2_obj_id)
    ballot_3 = BallotStats.objects.get(object_id=r3_obj_id)
    ballot_4 = BallotStats.objects.get(object_id=r4_obj_id)
    ballot_5 = BallotStats.objects.get(object_id=r5_obj_id)

    ballot_1.score += 5
    ballot_2.score += 4
    ballot_3.score += 3
    ballot_4.score += 2
    ballot_5.score += 1

    ballot_1.save()
    ballot_2.save()
    ballot_3.save()
    ballot_4.save()
    ballot_5.save()

    return HttpResponseRedirect('/submissions/results/film/')
Run Code Online (Sandbox Code Playgroud)

事实证明,我意识到我一直在用这种方式编写我的Python代码,有没有办法让它看起来更好而不是占用21行代码?

python django django-views

2
推荐指数
2
解决办法
125
查看次数