Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
Oh, one thing. Modules are always lowercase which means the file names should also be lowercase. Same goes for the folders.
-
@gamingfail123 thank you so much, I will rename those files :D
By the way if you look at my code, i have in the imports sections: from API.xxxxxx import .....
When I run the file it says can't find module API
but if I remove it it works, but VS Code puts a red line under 'from' claiming it cannot find the module, I'm a bit lost here, which is the correct way to import a file from the project? -
@gitpush The reason for that is that the import statement normally has it's root in the folder in which your python-file is.
However you can still go to the parent folder with ..
That means you could import using
from ..DataLayer.Models.ServiceInfo import ServiceInfo -
@gamingfail123 Btw you can always find the folder Python imports from using
import sys
sys.path
sys.path is the list that holds the paths to import from and you can also change it. -
@gamingfail123 Thanks man much appreciated :D
By the way I was just learning the sys thingy lol, wrote this code:
os.path.realpath(os.path.join(
os.getcwd(), os.path.dirname(__file__), 'config.json'))
Though I'm not sure how it relates to sys, for now I'm using os.path, what is the difference? -
@gitpush They are actually completely different. :D
sys.path is the list of folders where python will look for the things you wanna import.
os.path is a module that provides you with a lot of utilities for paths.
https://docs.python.org/3/library/... -
@gamingfail123 aaah still have a very long road to go lol
But I'm happy I am finally going for it, I've been longing to do this since 2012 lol -
@gamingfail123 one last question, I'm using JsonPickle, and when I parse mongodb object, the id field is as follows:
"_id": {
"py/b64": "WyTrvE+D/csybeGZ\n"
},
I am using unpickle=False, though that is the output, how do I make it like this:
"_id": "WyTrvE+D/csybeGZ\n" -
@gitpush I don't really know jsonpickle, but I can look into it if you send me your code snippet. :D
Btw I'm not sure why you are pickling an ObjectId, I would just use the json module to dump it. -
@gamingfail123 Thanks man, I'm using jsonpickle because I was not able to parse classes into json using the default json module.
My code is as follows:
Controller Post Method:
user = jsonpickle.decode(self.request.body)
repo = UserRepository()
result = repo.insertUser(user)
self.set_header("Content-Type", "application/json")
self.write(jsonpickle.encode(result, unpicklable=False))
Repository Insert Method:
db = self.mongoClient[self.dbName]
db.user.insert_one(user)
return db.user.find_one({"email": user["email"]}) -
@gamingfail123 I also made this for tornado so things doesn't get messed up by time, hope I'm doing it right:
https://pastebin.com/aMJdhJuT
If you want I can pastebin my earlier code if it is not clear in my comment -
@gitpush For this example you can just get the ObjectId as a base64 string and do
import json
self.write(json.dumps({"_id": str(object_id)})
If you want to get more advanced I can definitely recommend diving into custom JSON En/Decoders
https://docs.python.org/3/library/... -
@gamingfail123 thanks man sorry for bothering a lot :)
I followed your recommendation but ended up doing this:
userDto.id = str(userDoc['_id'])
Now I get the id as I want it :D -
@gamingfail123 still a noob don't want to rush diving into advanced stuff before I understand the language lol
Appreciate your help :D -
I cant see your main. But im gonna guide you in the right direction by telling you. Look into the pythonic way of coding python(the only true way of coding in python). This way you will trully learn the language and you'll also be as efficient as possible.
-
@NillValue I'm trying my best, used it for two days and hoping I reach the point that you said: look into the pythonic way
I was more of a C# biased in this, still searching and fixing my code until I get the hang of it.
if you still want to see my main, here is a pastebin: https://pastebin.com/xMJrCgpt -
@ewpratten maybe you have your own config? I use default ones and I'm using python3.6 not sure if that has something to do with it
-
For naming things, look into pep8 :)
Oh, you could use pylint which checks this for you, but don't go diehard on pep8 since some rules are a bit overkill -
@EngineerCoding will do so thanks man :D
By the way what is the difference between developing a website using Pythong (django) or for example Vue, React ...etc.
I'm sensing the only advantage is if I don't want to use a webservice to fetch my data, then those Django, Asp.Net are better
Related Rants
Python Question:
I'm learning Python and thought I'd start with web services since that's a concept I'm familiar with. My question is, in the attached code, am I doing it right when it comes to python? Cuz I feel like I'm following the same structure I follow in C# WebAPI and NodeJs
What about naming style? Is is the default for python? cuz I'm also using C# naming style :\
Thanks in advance ranters :)
question
python
learning
lets hope i can do it